「エアコンの安全な修理・適切なフロン回収」はこちら

Rocky Linux8.4でサーバー構築 WEBサーバーインストール

1.apache2( httpd-2.4.39 )のインストールとバーチャルホスト設定

1-1.Apache2インストール

①httpd-2.4.39 をダウンロード、展開

httpd-2.4.39 をダウンロード
[root@Lepard ~]# cd /usr/local/src/
src]# wget http://archive.apache.org/dist/httpd/httpd-2.4.39.tar.gz
Apache のtar ファイルの展開
src]# tar zxvf httpd-2.4.39.tar.gz

➁apr、apr-util のダウンロードと展開

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 のインストール

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
expat-2.2.7]# ln -s /usr/local/expat/2_2_7/bin/xmlwf /usr/local/bin/
// /usr/local/include
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
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のインストール

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
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
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
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 をインストール

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 ファイルをバックアップ
httpd-2.4.39]# cp /usr/local/apache2/conf/httpd.conf /usr/local/apache2/conf/httpd.conf_bak
httpd.conf ファイルを編集
httpd-2.4.39]# vi /usr/local/apache2/conf/httpd.conf

httpd.conf ファイルの編集内容

■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」の行頭にある「#」を削除

➁httpd-default.conf ファイル編集

httpd-2.4.39]# vi /usr/local/apache2/conf/extra/httpd-default.conf

■10 行目あたり タイムアウト時間を変更
Timeout 240

➂必要なディレクトリを作成と所有者、権限設定

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/

④httpd.conf ファイルチェック

httpd-2.4.39]# /usr/local/apache2/bin/apachectl configtest
Syntax OK

⑤Apache の自動起動設定

httpd-2.4.39]# cd /lib/systemd/system/
下記の内容でhttpd.service作成
[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

⑥Apache の自動起動設定と起動

system]# systemctl enable httpd.service
system]# systemctl start httpd.service

⑦Apache の動作確認
chrome等ブラウザでhttp://サーバーIPアドレス に接続すると 「index off」と表示されれば正常にApacheが起動しています

2.PHP( PHP-7.3.6 )のインストールと設定

2-1 事前準備

PHP のインストールに必要なソフトウェアをインストール

[root@Lepard ~]# dnf install xz-devel libxml2-devel
[root@Lepard ~]# dnf install libjpeg-turbo-devel
[root@Lepard ~]# dnf install libpng-devel
[root@Lepard ~]# dnf install freetype freetype-devel
[root@Lepard ~]# dnf install libcurl-devel

2-2 PHPインストール

[root@Lepard ~]# 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
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 の設定ファイル編集

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 の設定ファイルを編集

php-7.3.6]# cp php.ini-development /usr/local/php7/etc/php.ini
php-7.3.6]# vi /usr/local/php7/etc/php.ini

下記の内容で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 ファイルの生成

src]# 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 の動作確認

src]# vi /var/www/html/192.168.11.63/test.php
<?php phpinfo(); ?>

Apache を再起動

src]# systemctl restart httpd.service

chrome等ブラウザで http://サーバーIP/test.php へアクセスすると下記の画面になる

タイトルとURLをコピーしました