CentOS7+Apache+Ajax+PHP+PostgreSQL でインタラクティブなページづくり
こんにちは、ニックネーム たいちょう です。
松江ラボというからには、なにか新しい実験をしたいと思い立ちました。
Linux OS に webサーバを立ち上げて、インタラクティブなページをつくったら楽しいかもです。
せっかくですから、新しい OSで試してみようと思います。
あ、ちなみに、この記事は、ミラクル・リナックスが推奨するものではありません。あくまで、私、たいちょう の Linux OSを使ってみる実験ですから、細かい所はご容赦くださいね。
本来ならば、弊社製品「Asianux Server 7」を使用して解説したいところですが、利用の際にはライセンスをご購入いただく必要があります。そのため、今回は類似構成ディストリビューションのCentOS 7を使用して解説します。
では、第1日目を始めましょう。
CentOS-7 を仮想サーバにインストールします。
VirtualBoxに構築していきます。
http://ftp.riken.jp/Linux/centos/7.1.1503/isos/x86_64/ から、
CentOS-7-x86_64-Everything-1503-01.iso
をダウンロードします。
VirtualBox に、新規作成した領域(メモリ4G,ディスク50G,ネットワークは、1つ目はNAT,2つ目はホストオンリーアダプター)にストレージでダウンロードした iso ファイルを選択して、起動します。
インストールしていきます。
270ぐらいのパッケージしか入らなかったみたいです。
# yum grouplist
で、grouplist を確認してみます。
oops! ネットワークが有効になっていなかったら有効にします。
# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
onboot=yes
# vi /etc/sysconfig/network-scripts/ifcfg-enp0s8
onboot=yes
# systemctl restart NetworkManager.service
# yum groupinstall "X Window System"
# yum groupistall "GNOME Desktop"
# yum groupinstall "Basic Web Server"
# yum groupinstall "Server with GUI"
Applications->System Tools->Settings->Region & Languages
で、日本語にします。
# yum install postgresql
# yum install php
# yum install php-pgsql
# yum install php-mbstring
そう、隊長は PostgreSQL 派なんです。。
# df -h
# free -h
ちょっと、SELinuxのことが気になっちゃいました。
# sestatus
enable になっていますね。
これ、そのままでいきましょう。
# vim /etc/httpd/conf/httpd.conf
サーバのファイルが丸見えにならないようにします。
144 行目
#OPtions Indexes FollowSymLinks
Options FollowSymLinks
.httaccess が全てのディレクトリで有効になるようにします。
152 行目
#AllowOverride None
AllowOverride All
php ファイルが有効になるようにします。
165 行目
#DirectoryIndex index.html
DirectoryIndex index.html index.php
簡単なテストページをスクラッチから作って表示されることを確認しましょう。
# vim /var/www/html/index.html
<html>
<head>
<title>index</title>
</head>
<body>
This is a test page.
</body>
</html>
保存します。
下記はレガシーコマンド、chkconfig と同様で、httpd がサーバ起動時に
立ち上がるようにしています。
# systemctl status httpd.service
# systemctl start httpd.service
# systemctl status httpd.service
# systemctl enable httpd.service
ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'
と表示されることを確認します。
そういえば、ブラウザソフトが入ってなかったです。
# yum install firefox
Applications -> Firefox Web Browser
ブラウザから、
http://localhost として、
This is a test page.
が確認できれば OK です。
html ではなく、php ファイルで作ったページが表示されるかを確認します。
# cd /var/www/html
# mv index.html index.html_save
# vim index.php
<?php
echo "hello world!";
保存します。
http://localhost として、
hello world!
が確認できればOKです。
SELinuxの確認です。
# ls -laZ
SELinuxは、有効化していますので、コンテキストを確認します。Z は、SELinux
が有効化されていると使えるオプションです。
unconfined_u:object_r:httpd_sys_content_t:s0 index.html_save
unconfined_u:object_r:httpd_sys_content_t:s0 index.php
となっているのを確認します。
特に、httpd_sys_content_t となっていればOKです。
# systemctl set-default graphical.target
これは、以前のOSで/etc/inittab で 5 にするのと一緒です。
これで、再起動後に、GUIが立ち上がるようになります。
#shutdown -r now
そろそろ、日も暮れてきました。
土日は、島根城に市民の作った灯籠がライトアップされるんです。
週末がとても楽しみです。
じゃ、今日はこの辺で。