Contents
1. 時刻同期サービスを提供する NTP サーバーをインストール
# apt -y install chrony |
# vi /etc/chrony/chrony.conf |
# 17~20行目:デフォルト設定はコメントにして自身のタイムゾーンの NTP サーバーを追記 |
#pool ntp.ubuntu.com iburst maxsources 4 |
#pool 0.ubuntu.pool.ntp.org iburst maxsources 1 |
#pool 1.ubuntu.pool.ntp.org iburst maxsources 1 |
#pool 2.ubuntu.pool.ntp.org iburst maxsources 2 |
pool ntp.nict.jp iburst |
# 最終行に追記 (時刻同期を許可する範囲) |
allow 192.168.11.0/24 |
設定反映 |
# systemctl restart chrony |
# 動作確認 |
# chronyc sources |
10 Number of sources = 4 |
MS Name/IP address Stratum Poll Reach LastRx Last sample |
=============================================== |
^- ntp-b2.nict.go.jp 1 6 37 27 +150us[ +150us] +/- 5360us |
^- ntp-a2.nict.go.jp 1 6 37 26 +215us[ +215us] +/- 5529us |
^* ntp-b3.nict.go.jp 1 6 37 28 +13us[ -13us] +/- 5814us |
^- ntp-a3.nict.go.jp 1 6 37 28 -466us[ -466us] +/- 6069us |
2. FTPサーバー vsftpdをインストール
①インストール
# apt install vsftpd |
②UFWにてPORT 21を開ける
# ufw allow ftp # ufw reload |
③設定ファイルの変更
# vi /etc/vsftpd.conf |
14行目
Listen=YES
22行目
Listen_ipv6=NO
25行目# 匿名ユーザのログインを許可しない
anonymous_enable=NO
28行目# ローカル ユーザ アカウントによる ログインを許可する
local_enable=YES
31行目# ファイルに変更を加える FTP コマンドの使用を許可する
write_enable=YES
35行目# 新規ファイルに適用するパーミッション値を設定する
# 各桁はowner, group, otherを示しており、ビットはrwxを示す
local_umask=022
122行目# ユーザのログイン ディレクトリを、そのユーザのルート ディレクトリに変更する
chroot_local_user=YES
123行目# ユーザはログイン ディレクトリの外側にアクセスできなくなる
chroot_list_enable=YES
125行目# vsftpd.chroot_listにリストアップされたユーザは上記規制の対象外にする
chroot_list_file=/etc/vsftpd.chroot_list
99行目# ASCIIによるアップロードを許可する
ascii_upload_enable=YES
100行目# ASCIIによるダウンロードを許可する
ascii_download_enable=YES
# 131行目:コメント解除( ディレクトリごと一括での転送有効 )
ls_recurse_enable=YES
④vsftpd.chroot_listの作成
# vi /etc/vsftpd.chroot_list 新規ファイルにユーザー名だけ記入して保存終了 <ユーザー名> |
⑤vsftpdの再起動
# systemctl restart vsftpd |
⑥FTPクライアントで確認
今回はFFFTPを利用する。FFFTPを開き、メニューバーから接続を選択します。
ホスト一覧というウィンドウが開きます。新規ホストを選択してください。
暗号化の状態の保存というウィンドウが開きます。はいを選択してください
左側にWindowsのディレクトリ、右側に Ubuntuのディレクトリが表示されれば、接続成功です。
もし、つながらない場合はPassiveモードを入り切りする
3. Apache2インストール
最初にUFWでhttp:80番ポートおよびhttps:443ポートをallowしておく
# ufw allow http # ufw allow 443 # ufw reload |
3.1 Apache2 をインストール
# apt -y install apache2 |
3.2 Apache2 基本設定
# vi /etc/apache2/conf-enabled/security.conf # 25行目:変更 ServerTokens Prod |
# vi /etc/apache2/mods-enabled/dir.conf # 2行目:ディレクトリ名のみでアクセスできるファイル名を確認 DirectoryIndex index.html index.htm index.php |
# vi /etc/apache2/apache2.conf # 70行目:サーバー名追記 ServerName <自ドメイン名> # 172行目:変更 AllowOverride ALL |
# vi /etc/apache2/sites-available/000-default.conf # 11行目:管理者アドレス変更 ServerAdmin <your mailaddress> |
Apache再起動 # systemctl restart apache2 |
3.3 Apache2 : Perlスクリプトを利用する
CGI を有効にして Perl スクリプトが利用できるように設定します
①Perl をインストール
# apt -y install perl |
②CGI モジュールを有効にし再起動
# a2enmod cgid # systemctl restart apache2 |
③CGI モジュールを有効確認
テストスクリプト作成
# cat > /usr/lib/cgi-bin/test_script <<‘EOF’ #!/usr/bin/perl print “Content-type: text/html\n\n”; print “Hello CGI\n”; EOF |
スクリプトファイルに権限を与える
# chmod 705 /usr/lib/cgi-bin/test_script |
動作確認
# curl http://localhost/cgi-bin/test_script “curl: コマンドが見つかりません”と表示されたら # apt install curl 再度 # curl http://localhost/cgi-bin/test_script Hello CGI |
3.4 Apache2 : PHPスクリプトを利用する
①PHP をインストール
# apt -y install php php-cgi libapache2-mod-php php-common php-pear php-mbstring |
②Apache2 の設定
# a2enconf php7.4-cgi Enabling conf php7.4-cgi. To activate the new configuration, you need to run: systemctl reload apache2# systemctl restart apache2 |
# vi /etc/php/7.4/apache2/php.ini # 846行目変更 #upload_max_filesize = 2M upload_max_filesize = 200M 962行目:コメント解除しタイムゾーン設定 date.timezone = “Asia/Tokyo” |
③PHPテストページを作成して動作確認
# vi /var/www/html/index.php <html> <body> <div style=”width: 100%; font-size: 40px; font-weight: bold; text-align: center;”> <?php print “PHP Test Page”; ?> </div> </body> </html> |
ブラウザでhttp://<サーバーIPアドレス>/index.php にアクセスすると次のような画面が出れば成功
3.5 Apache2 : バーチャルホストの設定
①デフォルトの設定ファイルをコピーし(ファイル名は任意、今回は例としてvhost-yourdomain.conf)、バーチャルホストの設定をします
# cd /etc/apache2/sites-available/ # cp 000-default.conf vhost-yourdomain.conf |
②作成した設定ファイルを編集
# vi vhost-yourdomain.conf <VirtualHost *:80> ~省略~ ServerName <自ドメイン名> ServerAdmin <管理者メールアドレス> DocumentRoot /var/www/html/<自ドメイン名>/ ~省略~ ErrorLog ${APACHE_LOG_DIR}/<自ドメイン名>.error.log CustomLog ${APACHE_LOG_DIR}/<自ドメイン名>.access.log combined ~省略 </VirtualHost> |
③設定ファイルにシンボリックリンクを貼り、デフォルトの設定ファイルを無効化する
# cd /etc/apache2/sites-available/ # a2ensite vhost-yourdomain.conf # a2dissite 000-default.conf デフォルト無効化Apache再起動 # systemctl restart apache2 |
④hostsファイルの編集
# vi /etc/hosts 127.0.0.1 <自ドメイン名> |
⑤ディレクトリー作成
# mkdir /var/www/html/<自ドメイン名> |
⑥テストページを作成し、動作確認
# vi /var/www/html/<自ドメイン名>/index.html <html> <body> <div style=”width: 100%; font-size: 40px; font-weight: bold; text-align: center;”> Virtual Host Test Page </div> </body> </html> |
⑦ブラウザでhttp://<サーバーIPアドレス>/index.html にアクセスして確認