ablog

不器用で落着きのない技術者のメモ

Amazon Linux2 に Pukiwiki をたてたメモ

EC2インスタンスを作成する

PHP

  • PHP をインストールする
$ sudo amazon-linux-extras install php7.2
$ sudo yum -y install php php-mbstring

Apache

  • Apache をインストールする
$ sudo yum -y install httpd
  • 起動する
$ sudo systemctl enable httpd.service
$ sudo systemctl start httpd.service
  • httpd.conf を設定する
$ sudo vi /etc/httpd/conf/httpd.conf
# LoadModule foo_module modules/mod_foo.so
LoadModule php7_module modules/libphp7.so

<IfModule dir_module>
#    DirectoryIndex index.html
    DirectoryIndex index.php
</IfModule>
  • セキュリティ設定
$ sudo su -
# ce /etc/httpd/conf.d/
# mv welcome.conf welcome.conf.org
# mv autoindex.conf autoindex.conf.org
# cat << _EOF_ > /etc/httpd/conf.d/security.conf
# バージョン情報の隠蔽
ServerTokens Prod 
Header unset "X-Powered-By"
# httpoxy 対策
RequestHeader unset Proxy
# クリックジャッキング対策
Header append X-Frame-Options SAMEORIGIN
# XSS対策
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options nosniff
# XST対策
TraceEnable Off

<Directory /var/www/html>
    # .htaccess の有効化
    AllowOverride All
    # ファイル一覧出力の禁止
    Options -Indexes
    # Apache 2.2以前の対策
    <IfVersion < 2.3>
        # バージョン情報の隠蔽
        ServerSignature Off
        # ETagのinode情報の隠蔽
        FileETag MTime Size
    </IfVersion>
</Directory>

<Directory "/var/www/cgi-bin">
    <IfVersion < 2.3>
        ServerSignature Off
        FileETag MTime Size
    </IfVersion>
</Directory>
_EOF_
  • 設定を反映させる
$ sudo systemctl restart httpd.service

Pukiwiki

$ wget https://ja.osdn.net/projects/pukiwiki/downloads/72656/pukiwiki-1.5.3_utf8.zip
  • 解凍する
$ unzip pukiwiki-1.5.3_utf8.zip
$adminpass = '{x-php-md5}...'; // PHP md5()
$modifier = 'yoheia';
$modifierlink = 'https://wiki.yoheia.com/';

$script = 'https://.../';
$script_directory_index = 'index.php';
$modifier = 'yoheia';
$modifierlink = 'https://...';
$ sudo cp -pr * /var/www/html/
$ sudo chown -R ec2-user:apache /var/www
$ sudo chmod g+x /var/www/html
$ sudo chown -R apache:apache /var/www/html/*