Contents
1.apache2( httpd-2.4.39 )のインストールとバーチャルホスト設定
1-1.Apache2インストール
①httpd-2.4.39 をダウンロード、展開
httpd-2.4.39 をダウンロード
1 2 |
# cd /usr/local/src/ src]# wget http://archive.apache.org/dist/httpd/httpd-2.4.39.tar.gz |
Apache のtar ファイルの展開
1 |
src]# tar zxvf httpd-2.4.39.tar.gz |
➁apr、apr-util のダウンロードと展開
1 2 3 4 5 6 |
src]# wget https://archive.apache.org/dist/apr/apr-1.6.3.tar.gz src]# wget https://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz src]# tar zxvf apr-1.6.3.tar.gz src]# tar zxvf apr-util-1.6.1.tar.gz src]# mv apr-1.6.3 httpd-2.4.39/srclib/apr src]# mv apr-util-1.6.1 httpd-2.4.39/srclib/apr-util |
➂expat-devel のインストール
1 2 3 4 5 6 |
src]# wget https://github.com/libexpat/libexpat/releases/download/R_2_2_7/expat-2.2.7.tar.gz src]# tar xvfz expat-2.2.7.tar.gz src]# cd expat-2.2.7 expat-2.2.7]# ./configure --prefix=/usr/local/expat/2_2_7 expat-2.2.7]# make expat-2.2.7]# make install |
④expatシンボリックリンクを作成
expatシンボリックリンクを作成
インストールされたライブラリを"/usr/local"配下にシンボリックリンクで作成
// /usr/local/bin
1 |
expat-2.2.7]# ln -s /usr/local/expat/2_2_7/bin/xmlwf /usr/local/bin/ |
// /usr/local/include
1 2 3 |
expat-2.2.7]# ln -s /usr/local/expat/2_2_7/include/expat.h /usr/local/include/ expat-2.2.7]# ln -s /usr/local/expat/2_2_7/include/expat_config.h /usr/local/include/ expat-2.2.7]# ln -s /usr/local/expat/2_2_7/include/expat_external.h /usr/local/include/ |
// /usr/local/lib
1 2 3 4 5 |
expat-2.2.7]# ln -s /usr/local/expat/2_2_7/lib/libexpat.a /usr/local/lib/ expat-2.2.7]# ln -s /usr/local/expat/2_2_7/lib/libexpat.la /usr/local/lib/ expat-2.2.7]# ln -s /usr/local/expat/2_2_7/lib/libexpat.so /usr/local/lib/ expat-2.2.7]# ln -s /usr/local/expat/2_2_7/lib/libexpat.so.1 /usr/local/lib/ expat-2.2.7]# ln -s /usr/local/expat/2_2_7/lib/libexpat.so.1.6.9 /usr/local/lib/ |
⑤PCREのインストール
1 2 3 4 5 6 7 |
expat-2.2.7]# cd /usr/local/src src]# wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz src]# tar xvfz pcre-8.43.tar.gz src]# cd pcre-8.43 pcre-8.43]# ./configure --prefix=/usr/local/pcre/8_43 --enable-jit pcre-8.43]# make pcre-8.43]# make install |
⑥PCREライブラリーのシンボリックリンクを作成
インストールされたライブラリを"/usr/local"配下にシンボリックリンクで作成
// /usr/local/bin
1 2 3 |
pcre-8.43]# ln -s /usr/local/pcre/8_43/bin/pcre-config /usr/local/bin/ pcre-8.43]# ln -s /usr/local/pcre/8_43/bin/pcregrep /usr/local/bin/ pcre-8.43]# ln -s /usr/local/pcre/8_43/bin/pcretest /usr/local/bin/ |
// /usr/local/include
1 2 3 4 5 6 |
pcre-8.43]# ln -s /usr/local/pcre/8_43/include/pcre.h /usr/local/include/ pcre-8.43]# ln -s /usr/local/pcre/8_43/include/pcre_scanner.h /usr/local/include/ pcre-8.43]# ln -s /usr/local/pcre/8_43/include/pcre_stringpiece.h /usr/local/include/ pcre-8.43]# ln -s /usr/local/pcre/8_43/include/pcrecpp.h /usr/local/include/ pcre-8.43]# ln -s /usr/local/pcre/8_43/include/pcrecpparg.h /usr/local/include/ pcre-8.43]# ln -s /usr/local/pcre/8_43/include/pcreposix.h /usr/local/include/ |
// /usr/local/lib
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
pcre-8.43]# ln -s /usr/local/pcre/8_43/lib/libpcre.a /usr/local/lib/ pcre-8.43]# ln -s /usr/local/pcre/8_43/lib/libpcre.la /usr/local/lib/ pcre-8.43]# ln -s /usr/local/pcre/8_43/lib/libpcre.so /usr/local/lib/ pcre-8.43]# ln -s /usr/local/pcre/8_43/lib/libpcre.so.1 /usr/local/lib/ pcre-8.43]# ln -s /usr/local/pcre/8_43/lib/libpcre.so.1.2.11 /usr/local/lib/ pcre-8.43]# ln -s /usr/local/pcre/8_43/lib/libpcrecpp.a /usr/local/lib/ pcre-8.43]# ln -s /usr/local/pcre/8_43/lib/libpcrecpp.la /usr/local/lib/ pcre-8.43]# ln -s /usr/local/pcre/8_43/lib/libpcrecpp.so /usr/local/lib/ pcre-8.43]# ln -s /usr/local/pcre/8_43/lib/libpcrecpp.so.0 /usr/local/lib/ pcre-8.43]# ln -s /usr/local/pcre/8_43/lib/libpcrecpp.so.0.0.1 /usr/local/lib/ pcre-8.43]# ln -s /usr/local/pcre/8_43/lib/libpcreposix.a /usr/local/lib/ pcre-8.43]# ln -s /usr/local/pcre/8_43/lib/libpcreposix.la /usr/local/lib/ pcre-8.43]# ln -s /usr/local/pcre/8_43/lib/libpcreposix.so /usr/local/lib/ pcre-8.43]# ln -s /usr/local/pcre/8_43/lib/libpcreposix.so.0 /usr/local/lib/ pcre-8.43]# ln -s /usr/local/pcre/8_43/lib/libpcreposix.so.0.0.6 /usr/local/lib/ |
⑦ httpd-2.4.39 をインストール
1 2 3 4 5 6 7 8 9 10 11 |
pcre-8.43]# cd httpd-2.4.39 httpd-2.4.39]# ./configure \ --with-layout=Apache \ --enable-module=auth_db \ --enable-module=so \ --enable-module=most \ --enable-mods-shared=reallyall \ --enable-rewrite \ --enable-auth_digest httpd-2.4.39]# make httpd-2.4.39]# make install |
1-2.Apache2の設定
①httpd.conf ファイルを編集
httpd.conf ファイルをバックアップ
1 |
httpd-2.4.39]# cp /usr/local/apache2/conf/httpd.conf /usr/local/apache2/conf/httpd.conf_bak |
httpd.conf ファイルを編集
1 |
httpd-2.4.39]# vi /usr/local/apache2/conf/httpd.conf |
httpd.conf ファイルの編集内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
■83 行目あたり digest 認証を有効にする 「LoadModule auth_digest_module modules/mod_auth_digest.so」の行頭にある「#」を削除 ■171 行目あたり CGI モジュールを有効にする 「LoadModule cgid_module modules/mod_cgid.so」の行頭にある「#」を削除 ■228 行目あたり ServerName の変更 「ServerName www.example.com:80」の下に「ServerName ホスト名」を追加 ■252 行目あたり ドキュメントルートの変更 「DocumentRoot "/usr/local/apache2/htdocs"」の行頭に「#」を入力してコメントアウト ■279 行目あたりにある</Directory>の下に下記追加 <VirtualHost *:80> ServerAdmin 管理者メールアドレス DocumentRoot /var/www/html/サーバーIP/ ServerName サーバーIP ErrorLog "| /usr/local/apache2/bin/rotatelogs /var/log/httpd/サーバーIP_error_log_%Y%m%d 86400 540" CustomLog "| /usr/local/apache2/bin/rotatelogs /var/log/httpd/サーバーIP_access_log_%Y%m%d 86400 540" combined ErrorDocument 404 / </VirtualHost> <Directory "/var/www/html/サーバーIP"> Options Indexes Includes FollowSymLinks MultiViews ExecCGI Require all granted Allow from all AddHandler server-parsed .html </Directory> ■307 行目あたり index ファイルの追加 <IfModule dir_module> DirectoryIndex index.html index.htm index.php </IfModule> ■325 行目あたり error_log 出力ディレクトリの変更 「ErrorLog "logs/error_log"」の行頭に「#」を追加し、その下に「ErrorLog "/var/log/httpd/error_log"」 を追加 ■355 行目あたり ログ設定をコメントアウト 「CustomLog logs/access_log common」の先頭に「#」を追加 ■455 行目あたり CGI スクリプトのコメントを外す 「AddHandler cgi-script .cgi」の先頭にある「#」を削除 ■542 行目あたり httpd-default.conf を有効にする 「Include conf/extra/httpd-default.conf」の行頭にある「#」を削除 |
1 2 3 4 |
httpd-2.4.39]# vi /usr/local/apache2/conf/extra/httpd-default.conf ■10 行目あたり タイムアウト時間を変更 Timeout 240 |
1 2 3 4 |
httpd-2.4.39]# mkdir -p /var/www/html/サーバーIP/ httpd-2.4.39]# mkdir /var/log/httpd httpd-2.4.39]# chown -R <一般ユーザー名>:<一般ユーザー名> /var/www/ httpd-2.4.39]# chmod 755 /var/www/html/サーバーIP/ |
1 2 |
httpd-2.4.39]# /usr/local/apache2/bin/apachectl configtest Syntax OK |
1 |
httpd-2.4.39]# cd /lib/systemd/system/ |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[Unit] Description=The Apache HTTP Server After=network.target remote-fs.target nss-lookup.target [Service] Type = forking ExecStart=/usr/local/apache2/bin/apachectl start ExecStop=/usr/local/apache2/bin/apachectl stop # We want systemd to give httpd some time to finish gracefully, but still want # it to kill httpd after TimeoutStopSec if something went wrong during the # graceful stop. Normally, Systemd sends SIGTERM signal right after the # ExecStop, which would kill httpd. We are sending useless SIGCONT here to give # httpd time to finish. KillSignal=SIGCONT PrivateTmp=true [Install] WantedBy=multi-user.targe |
1 2 |
system]# systemctl enable httpd.service system]# systemctl start httpd.service |
chrome等ブラウザでhttp://サーバーIPアドレス に接続すると 「index off」と表示されれば正常にApacheが起動しています
2.PHP( PHP-7.3.6 )のインストールと設定
2-1 事前準備
PHP のインストールに必要なソフトウェアをインストール
1 2 3 4 5 |
# dnf install xz-devel libxml2-devel # dnf install libjpeg-turbo-devel # dnf install libpng-devel # dnf install freetype freetype-devel # dnf install libcurl-devel |
2-2 PHPインストール
1 2 3 4 |
# cd /usr/local/src src]# wget https://www.php.net/distributions/php-7.3.6.tar.gz src]# tar zxvf php-7.3.6.tar.gz src]# cd php-7.3.6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
php-7.3.6]# ./configure \ --prefix=/usr/local/php7 \ --with-config-file-path=/usr/local/php7/etc \ --with-apxs2=/usr/local/apache2/bin/apxs \ --enable-mbstring \ --enable-mbregex \ --with-gd \ --enable-gd-jis-conv \ --with-freetype-dir=/usr \ --with-png-dir=/usr \ --with-zlib \ --with-jpeg-dir=/usr \ --with-mysqli=mysqlnd \ --with-mysql-sock=/var/lib/mysql/mysql.sock \ --with-curl php-7.3.6]# make php-7.3.6]# make install |
2-3 Apache の設定ファイル編集
1 2 3 4 5 |
php-7.3.6]# vi /usr/local/apache2/conf/httpd.conf ■188 行目あたり 「LoadModule php7_module modules/libphp7.so」の下の行に 「AddType application/x-httpd-php .php」を追加 |
2-4 PHP の設定ファイルを編集
1 |
php-7.3.6]# cp php.ini-development /usr/local/php7/etc/php.ini |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
php-7.3.6]# vi /usr/local/php7/etc/php.ini ■401 行目あたり 「memory_limit = 128M」の行頭に「;」(セミコロン)を挿入し下に 「memory_limit = 512M」を追加 ■476 行目あたり 「display_errors = On」の行頭に「;」(セミコロン)を挿入し下に 「display_errors = Off」を追加 ■688 行目あたり 「post_max_size = 8M」の行頭に「;」(セミコロン)を挿入し下に 「post_max_size = 128M」を追加 ■838 行目あたり 「upload_max_filesize = 2M」の行頭に「;」(セミコロン)を挿入し下に 「upload_max_filesize = 2000M」を追加 ■945 行目あたり 「extension=curl.so」と「extension=openssl.so」を追加 ;extension=xsl extension=curl.so extension=openssl.so ■959 行目あたり 「date.timezone = Asia/Tokyo」を追加 ;date.timezone = date.timezone = Asia/Tokyo |
2-5 curl.so ファイルの生成
1 2 3 4 5 6 7 |
# cd /usr/local/src/php-7.3.6/ext/curl/ curl]# /usr/local/php7/bin/phpize curl]# ./configure --with-curl -with-php-config=/usr/local/php7/bin/php-config curl]# make curl]# make install curl]# ls -l /usr/local/php7/lib/php/extensions/no-debug-zts-20180731/ -rwxr-xr-x 1 root root 370064 11月11 10:00 curl.so |
2-6 PHP の動作確認
1 2 |
src]# vi /var/www/html/192.168.11.63/test.php <?php phpinfo(); ?> |
Apache を再起動
1 |
src]# systemctl restart httpd.service |
chrome等ブラウザで http://サーバーIP/test.php へアクセスすると下記の画面になる