cent OS 8にvsftpdとapatchを入れてwebサーバーにする。
インストールしているOSイメージによるのですが、cent osなら基本上から叩いていけば実行できます。
インストール方法
yum -y install vsftpd
先にFTPのアクセス用のユーザーを作成する。
useradd ftp-user
作成したユーザーにパスワードの設定
passwd ftp-user
設定ファイルを更新
vi /etc/vsftpd/vsftpd.conf
コンフィルファイルの設定項目
# 匿名(anonymous)でのログインを禁止
anonymous_enable=NO
# コメント(#)を削除して、ASCIIモード転送を許可
ascii_upload_enable=YES
ascii_download_enable=YES
# コメント(#)を削除して、ログインしたディレクトリのみアクセス可能、下記に追記の設定が重要
chroot_local_user=YES
# コメント(#)を削除して、chroot_list_fileに追加されたユーザーはログインディレクトリ以外もアクセス可能
chroot_list_enable=YES
# コメント(#)を削除して、ログインしたディレクトリ以外もアクセスが可能なユーザーのリストファイルを指定しましょう。 ※1
chroot_list_file=/etc/vsftpd/chroot_list
# コメント(#)を削除して、ディレクトリごとのファイル一括転送を可能
ls_recurse_enable=YES
# IPv4でのファイル転送を受付可能に設定
listen=YES
# IPv6でのファイル転送を受付不可、IPv4と両方YESになってるとエラーになります。
listen_ipv6=NO
# 最終行へ追記
# ルートディレクトリを指定しましょう
local_root=public_html
# ローカルタイム(日本時間)を使用
use_localtime=YES
ユーザーリストを追加
vi /etc/vsftpd/chroot_list
起動設定
systemctl start vsftpd
サーバー再起動
systemctl restart vsftpd
システムの起動確認
systemctl -t service list-unit-files | grep -i ftp
enabledになってればOK
他のフォルダにあくせすできない時
おそらくSElinuxがONになっていると思います。
getenforce
Enforcingが表示されていれば有効化されています。
無効化する方法として下記コマンドを入力し
vi /etc/selinux/config
SELINUX=disabledに変更
apatchのインストール
sudo yum -y install httpd
設定ファイルの更新
vi /etc/httpd/conf/httpd.conf
apatchの起動
sudo systemctl start httpd
この後
/var/www/html/
にhtmlファイルを設置すれば表示されるはずです。
phpも動作させたい場合は、まず下記コマンドでphpまわりのパッケージをインストール
dnf install -y php php-mbstring php-xml php-xmlrpc php-gd php-pdo php-mysqlnd php-json
下記コマンドでインストール成功したかもチェックしましょう
php -v
php-fpmの設定
まずは設定ファイルのバックアップ
cp -p /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.org
つぎに編集
vi /etc/php-fpm.d/www.conf
php-fpmの起動
systemctl start php-fpm
起動確認
systemctl status php-fpm
自動起動設定
systemctl enable php-fpm
動作確認として、phpinfo.phpファイルも設置
<?php
phpinfo();
?>