「業務用エアコンのエラーコード」はこちら

Ubuntu Server 20.04でサーバー構築 NTP , FTP , WEBサーバー

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を開き、メニューバーから接続を選択します。
ホスト一覧というウィンドウが開きます。新規ホストを選択してください。

  1. ホストの設定名(任意の名前)
  2. ホスト名(サーバーのIPアドレス)
    例 :
    192.168.11.82
  3. ユーザ名(Ubuntuのユーザ名)
  4. パスワード********

ホスト一覧ウィンドウに戻りました。接続を押してください

暗号化の状態の保存というウィンドウが開きます。はいを選択してください

左側に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 にアクセスして確認

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