Setting Up LAMP (Linux, Apache, MariaDB and PHP) on Fedora 24 Server
bash for Windows
- copy = ctrl + insert
- paste = shift + insert
10 dnf -y install httpd
11 systemctl start httpd
12 systemctl enable httpd
13 firewall-cmd --add-service=http --permanent
14 firewall-cmd --reload
15 vi /var/www/html/index.html
16 systemctl stop firewalld
17 systemctl disable firewalld
18 dnf -y upgrade
19 dnf -y install ntp
20 vi /etc/ntp.conf
21 vi /etc/default/ntp
22 systemctl restart ntp
23 service ntp restart
24 systemctl restart ntpd
25 systemctl status ntpd
27 systemctl enable ntpd
28 dnf -y install php php-mbstring php-pear php-mysql
29 dnf -y install mariadb
30 dnf -y install gcc make
31 dnf -y install ruby-devel
32 dnf -y install python
33 dnf -y install python-devel
35 php -v
36 vi /var/www/html/phpinfo.php
37 systemctl restart httpd
38 dnf update
40 dnf install ruby-devel
41 ruby -v
45 python -V
52 dnf install httpd
53 systemctl status httpd.service
54 systemctl status firewalld
55 systemctl start firewalld
56 systemctl status firewalld
57 systemctl enable firewalld
58 firewall-cmd --permanent --add-service=http
60 firewall-cmd --permanent --add-service=https
61 systemctl reload firewalld
62 systemctl status firewalld.service
64 dnf install mariadb-server
66 systemctl enable mariadb.service
68 systemctl start mariadb.service
69 systemctl status mariadb.service
70 mysql_secure_installation
yum は dnf にリダイレクトされている。
とりあえず
yum update
bash for Windows はとりあえず色には関係ない。
色は ~/.bashrc の LC_COLORS とか ~/.vimrc で変える。
ruby -v は 2.3.1
python -V は 2.7.12
正規表現は使う前にコンパイルすべきなのか?
RPM Fusion free for fedora 20 をインストールする。
RPM Fusion nonfree for fedora 20 をインストールする。
# yum install steam
アクティビティ → アプリケーションを表示 → すべて
また fedora の selinux ではまった。
apache が wordpress のディレクトリに書き込みできるようにする。
# chcon -R -t httpd_sys_content_rw_t /var/www
/etc/resolv.conf が勝手に書き換わるので困った。
/etc/sysconfig/network-scripts/ifcfg-eth0 の中の記述が優先されるのだった。
そちらをなおした。
あいかわらず、fedora をいじる。
anthy もなかなか快適。かな入力で。
google-chrome 入れたが起動しない。
# ./google-chrome
./google-chrome: /lib/libz.so.1: no version information available (required by ./google-chrome)
execv failed: Permission denied
とかなんとか。いろいろ調べてみるものの、有効な解決策はなさそう。
google-chrome というのはシェルスクリプトで、その中で exec で chrome を起動しようとして失敗しているようだ。
permission denied ってのがなんとなく selinux のファイルのラベル臭いのだが、よくわからん。
linux 版 safari も存在しないようだ。safari と chrome 両方ないというのは webkit 的には痛い。
opera は普通に動いた。後は firefox と konqueror。
最近、gmail や twitter など複数アカウント使いまわすせいで、
ブラウザを一度に複数立ち上げることが多い。
そんな感じです。
でもまあ fedora + firefox がなじんでいるだけあってしっくりときます。
ubuntu や macosx なんかに比べると精神的ストレスがずっと少ない。
windows の方が使えるアプリケーションが多いのは仕方ない。
/etc/my.cnf に
default-character-set=utf8
skip-character-set-client-handshake
が必要。
引き続き自宅サーバのお引越し。
HDDは古いのフォーマットしなおすよりは、バックアップとして保存して、
新しいのを挿した方がよいなと思い、2TBのHDDを2つ買ってくる。
いやーやっと 2TBが1万円で買えるようになったか。感慨深い。
Apple の XRAID が 1台あたり、2TB + 2TB で 4TB なんだよな。
まあ今はもっと増量してるだろうが。
vine4.2 から fedora 13 なのでいろいろ設定が変わる。
fedora 13 live CD には /bin/mail がない。
yum install mailx
で入るらしい。
sendmail を止めて postfix をインストールする。
inet_interfaces = localhost
をコメントアウトして
#inet_interfaces = all
のコメントをはずし、
virtual_maps = hash:/etc/postfix/virtual
を追加。
bind (named) も入ってないので入れる。
fedora とは離れられない仲らしいので、少し本気になる(カテゴリー独立させる)。
一番最初にやること。
Firewall で ssh のポートは開いているが、sshd が動いてない。そこでまず、
# /sbin/chkconfig --list | less
などで ssh が無効であるのを確認し(別に確認しなくても良いが)、
# /sbin/chkconfig sshd on
で有効に。ついでに、httpd も有効に。
Firewall の httpd も開けておく。
# /sbin/chkconfig httpd on
さらに
# /etc/init.d/sshd start
で sshd を起動。これでリモートログインして管理できるようになる。
liveCD にはシステム管理用のコマンドがかなり抜けているので入れる。
# yum install wget php-devel php-mysql php-pecl-apc mysql-server p7zip
# yum install telnet ruby-devel mecab-ipadic mecab-jumandic mecab-devel ruby-mecab
# yum install ruby-mysql gcc
次に selinux 関係のおまじない
# setsebool -P httpd_can_network_connect on
# setsebool -P httpd_enable_homedirs 1
# /sbin/restorecon -R /home/hoge
/etc/httpd/conf/httpd.conf の mod_userdir.c や /home/*/public_html など編集したのちに、httpd の起動。
# /etc/init.d/httpd start
APC が有効になってるかどうか phpinfo() など表示させて確認する。
public_html も見えるかどうか確認。
ついこないだも Dell PowerEdge R200 に fedora 13をインストールして何の問題もなかったのだが、
新しく買った R200 になぜか fedora 13 が入らない。
ブートローダーがうまくインストールできないようだ。
PowerEdge にインストールできない fedora などリリースされるはずもないが、はて、
と思って説明書読むと新しい R200 は 64-bit なようだ。
で、x86_64版を落としてくると、
今度はインストーラーの途中で boot_loader をインストールする場所を聞いてくる画面が出る。
ははあ、ブートローダーをインストールできなかったんでこことばされてたのかと。
やれやれ一時はどうなるかと、びびったよ。
4台まとめ買いしたからな。
wiki、www.media、www.int などは今 fedora (or yellow dog) on Xserve PPC64で動いているのだが、
これらを PowerEdge に移したい。
何にしろ、もう PPC は卒業しても良いだろう。
だがまあ後期のサーバ管理演習で弄り倒してからサーバ移転しても遅くはあるまい。
fedora 13 liveCD 版には telnet が入ってなかった。
そうかそうか yum しろってことか。
fedora 13 + selinux で、wordpress などでファイルをアップロードできるようにするには、
# setsebool -P allow_httpd_anon_write=1
しばらく時間がかかる。
# /etc/init.d/httpd restart
で、
# chcon -R -t httpd_sys_content_rw_t .../wp-content/uploads/
めんどくさいっっ。
しかも情報があまりない。
みんな fedora とか selinux とか使ってないのか。
fedora 13 には wget がついてないらしい。
もちろん yum install すれば良い。
Live CD版だからかな。
SELinux 君にまたやられた。
# ls -lZ /var/www/html
drwxr-xr-x. nagae nagae unconfined_u:object_r:httpd_sys_content_t:s0 mixi
-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 phpinfo.php
ちうわけで、/var/www/ 以下は httpd_sys_content_t という属性を持っている。
で、私のホームは
# ls -alZ
drwx-----x. nagae nagae unconfined_u:object_r:user_home_dir_t:s0 .
drwxr-xr-x. root root system_u:object_r:home_root_t:s0 ..
....
drwxr-xr-x. nagae nagae unconfined_u:object_r:httpd_user_content_t:s0 public_html
....
という具合に、public_html を httpd_user_content_t という属性を持たせた。
んでさらに
> setsebool -P httpd_enable_homedirs 1
とかやると始めて home の public_html が見えるようになるらしいんですよ。
この、httpd_enable_homedirs とか httpd_user_content_t なんていうので検索しても、
なかなか情報得られないんですけど。
どうなんだろこれ。
今まで、単に SELinux をぶちきっていたから気が付かなかっただけなのだろうか。
FC4/Apache /一般ユーザのウェブ表示
またまたここに書いたのと同じ理由で selinux にはまる。
mixi から bubbles の php スクリプトにアクセスしてそこから別のホストの mysql サーバにアクセスしようとすると、
拒否られる。
で、
selinux を disable にすれば動くわけだが、なんとなく負けな気がするので、
# setsebool -P httpd_can_network_connect on
とかってやれば良いらしい。
Fedora 13 Live CD には GUIのSELinuxが入ってないので、
インストールしておいた方が良いかも。