業務用エアコン関連の技術情報、エラーコード、環境問題対策に関する別サイト「エアコンの安全な修理・適切なフロン回収」

CentOS7.6サーバー構築 WEBサーバー導入 

スポンサーリンク
スポンサーリンク

1.Apache httpd 2.4 をインストールする

Web サイトを表示させるためWeb サーバー(Apache2.4)をインストールします。

インストール条件
♦Apache2.4の最新版2.4.41を使用する
♦Apacheのインストール先 /usr/local/src(Linuxではソースからのインストールの場合慣習としての標準的なインストール先)
♦Webに公開するドキュメントのインストール先 /var/www/html/
♦バーチャルホストを使用する

Apacheをインストールする前に必要なライブラリーをインストールしておきます。

1.1  APR 、APR-util、expat-develのインストール

①APRのインストール(最新版は1.7.0)

# cd /usr/local/src
# wget http://ftp.riken.jp/net/apache/apr/apr-1.7.0.tar.gz
# tar -xvzf apr-1.7.0.tar.gz
# cd apr-1.7.0
# ./configure –prefix=/opt/apr/apr-1.7.0   ← インストールディレクトリー
# make
# make test
# make install

②APR-utilのインストール(最新版は1.6.1)

# cd /usr/local/src
# wget http://ftp.jaist.ac.jp/pub/apache//apr/apr-util-1.6.1.tar.gz
# tar -xvzf apr-util-1.6.1.tar.gz
# cd apr-util-1.6.1
# ./configure –prefix=/opt/apr-util/apr-util-1.6.1 –with-apr=/opt/apr/apr-1.7.0
# make
# make test
# make install

③expat-devel のインストール
apr-util 1.6.0 のコンパイルでは「expat-devel」パッケージをインストールしていない場合、下のようなエラーが発生することがあります。

xml/apr_xml.lo -c xml/apr_xml.c && touch xml/apr_xml.lo
xml/apr_xml.c:35:19: 致命的エラー: expat.h: そのようなファイルやディレクトリはありません
#include <expat.h>
コンパイルを停止しました。 make[1]: *** [xml/apr_xml.lo] エラー 1
make[1]: ディレクトリ `/usr/local/src/apr-util-1.6.0′ から出ます
make: *** [all-recursive] エラー 1

# cd /usr/local/src
# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/expat-devel-2.1.0-10.el7_3.x86_64.rpm
# rpm -Uvh expat-devel-2.1.0-10.el7_3.x86_64.rpm

1.2 Apache 2.4 のインストール(最新版は2.4.41)

Apache 2.4 のダウンロードと展開
# cd /usr/local/src

# wget http://ftp.kddilabs.jp/infosystems/apache//httpd/httpd-2.4.41.tar.gz
# tar -xvzf httpd-2.4.41.tar.gz
コンパイルとインストール
# cd /usr/local/src/httpd-2.4.41
./configure \
–with-layout=Apache \ ← Apacheのインストール先
–enable-module=auth_db \ ← 必要なモジュールの有効化
–enable-module=so \ ← 必要なモジュールの有効化
–enable-module=most \ ← 必要なモジュールの有効化
–enable-mods-shared=reallyall \ ← 必要なモジュールの有効化
–enable-rewrite \ ← 必要なモジュールの有効化
–enable-auth_digest ← 必要なモジュールの有効化
# make
# make instal

Apacheのコンパイルとインストールオプションの代表例
Apacheインストールのオプション

オプション内  容
–with-layout=[F:]IDfile F から取得したインストールパスレイアウトIDを使用する
–target=TARGETTARGETで指定した名前を使用して関連づけられたファイルをインストールする
–prefix=PREFIXPREFIXで指定されたディレクトリにApache(コマンド)をインストールする
–exec-prefix=EPREFIXEPREFIXで指定されたディレクトリにhttpd(デーモン)をインストールする
–bindir=DIRbinディレクトリをDIRで指定
–sbindir=DIRsbinディレクトリをDIRで指定
–libexecdir=DIRlibexecディレクトリをDIRで指定
–mandir=DIRDIRで指定したディレクトリにman(マニュアル)をインストールする
–sysconfdir=DIRDIRで指定したディレクトリに設定ファイルをインストールする
–datadir=DIRDIRで指定したディレクトリにデータファイルをインストールする
–iconsdir=DIRDIRで指定したディレクトリにアイコンファイルをインストールする
–htdocsdir=DIRDIRで指定したディレクトリをドキュメントファイル(httpで公開するインデックス)として設定する
–cgidir=DIRDIRで指定したディレクトリをCGIディレクトリとして設定する
–includedir=DIRDIRで指定したディレクトリにインクルードファイルをインストールする
–localstatedir=DIRDIRで指定したディレクトリに修正可能なデータファイルをインストールします
–runtimedir=DIRDIRで指定したディレクトリにランタイムデータをインストールする
–logfiledir=DIRDIRで指定したディレクトリにログファイルをインストールする
–proxycachedir=DIRDIRで指定したディレクトリにプロキシのキャッシュデータをインストールする

⑤Apache の設定(httpd.confの編集)
apache全体の設定
範囲指定した設定(ディレクトリ、ファイル、パス単位等)
範囲指定はセクションコンテナで行い、セクションコンテナ外の設定がapache全体の設定となる。
下記の<Directory “/usr/local/apache2/htdocs”>~</Directory>の範囲がセクションコンテナとなる。

httpd.confの中で
# ディレクトリ単位で指定 — <Directory>

# ファイル単位で指定 — <Files>
# パス単位で指定 — <Location>
# 他の設定ファイルを読み込む — Include
<Directory “/usr/local/apache2/htdocs”>
# 設定内容 Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

# vi /usr/local/apache2/conf/httpd.conf

digest 認証を有効
LoadModule auth_digest_module modules/mod_auth_digest.so
CGI モジュールを有効化(コメントアウトを外す)
#LoadModule cgid_module modules/mod_cgid.so
→ LoadModule cgid_module modules/mod_cgid.so
ドキュメントルートの変更(初期設定は付きの通りだが適宜変更のためコメントアウト、このまま初期設定で続けても良い)
# DocumentRoot “/usr/local/apache2/htdocs”

ServerAdmin メールアドレス


ServerName  ホスト名
index ファイルの追加
DirectoryIndex index.html index.htm index.phpバーチャルホストの設定
<VirtualHost *:80>
ServerAdmin メールアドレス
ServerName ドメイン名

DocumentRoot “/var/www/html/ドメイン名”
ErrorLog /var/log/httpd/ドメイン名_error.log
CustomLog /var/log/httpd/ドメイン名_access.log combined
AddDefaultCharset UTF-8
<Directory “/var/www/ドメイン名/”>
AllowOverride All
Require all granted

</Directory>
</VirtualHost>CGI スクリプトの有効化(コメントアウトを外す)
#AddHandler cgi-script .cgi → AddHandler cgi-script .cgihttpd-default.conf を有効化
#Include conf/extra/httpd-default.conf → Include conf/extra/httpd-default.conf

⑥Web公開ディレクトリー作成

# mkdir -p /var/www/html/ドメイン名/

⑦自動起動設定

# systemctl enable httpd

これで最低限のApacheは導入されました。

2.PHP7 インストール

2.1. 必要なライブラリーのダウンロードとインストール

ダウンロード
# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/xz-devel-5.2.2-1.el7.x86_64.rpm
# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm
# wget
fftp://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/7.0/x86_64/updates/security/libjpeg-turbo-devel-1.2.90-6.el7.x86_64.rpm
# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libpng-devel-1.5.13-7.el7_2.x86_64.rpm
# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/freetype-2.8-14.el7.x86_64.rpm
# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/freetype-devel-2.8-14.el7.x86_64.rpm
# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libcurl-devel-7.29.0-54.el7.x86_64.rpm
・・・・・・・・・・・・・・・・・
インストール
# rpm -Uvh  xz-devel-5.2.2-1.el7.x86_64.rpm libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm libjpeg-turbo-devel-1.2.90-6.el7.x86_64.rpm libpng-devel-1.5.13-7.el7_2.x86_64.rpm freetype-2.8-14.el7.x86_64.rpm freetype-devel-2.8-14.el7.x86_64.rpm libcurl-devel-7.29.0-54.el7.x86_64.rpm

2.2  PHP をダウンロードとインストール

# wget https://www.php.net/distributions/php-7.3.6.tar.gz
# tar zxvf php-7.3.6.tar.gz
# cd php-7.3.6
# ./configure \
–prefix=/usr/local/php7 \ ← php7のインストール先
–with-config-file-path=/usr/local/php7/etc \ ← php設定ファイルの置き場所
–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
# make
# make install

2.3 Apacheと連携するためApache設定ファイル編集

PHPで使う拡張子(.php)とPHPを関連付けます。登録を行うことで、拡張子(.php)のファイルへアクセスがあった時に、PHPを使って実行された結果がクライアントに返されるようになります。「httpd.conf」ファイルの末尾に次のように記述して下さい

AddType application/x-httpd-php .php

2.34 PHP設定ファイル編集

# vi /usr/local/etc/php.ini
・・・・・・・・・・
下記を末尾に追加
extension=curl.so
extension=openssl.so
date.timezone = Asia/Tokyo

 

コメント

error:Content is protected !!
タイトルとURLをコピーしました