CentOS 7 (RHEL7) から色々変わった。
従来通りの手順を貫き通す手もあるけど、正攻法でのセットアップ手順。
まず ifconfig に代わってIPアドレスを確認する方法
# cp /usr/share/zoneinfo/Japan /etc/localtime
# timedatectl set-timezone Asia/Tokyo
# yum -y install vim-enhanced mailx sysstat bind-utils logwatch
# vim /etc/firewalld/firewalld.conf
→ DefaultZone=public に設定(dhcpv6-client と ssh のみが許可される)
# firewall-cmd --state
→ firewalld が停止していることを確認
# systemctl start firewalls
→ firewalld が起動する(起動していないと以下の設定は行えない)
# systemctl enable firewalld
→ 自動起動設定(従来の chkconfig iptables on に代わるもの)
# firewall-cmd --list-all-zones
→ 定義されているゾーンの一覧を表示
# firewall-cmd --change-interface=eth0 --zone=public --permanent
→ eth0 のゾーンを public に設定(インタフェースごとにゾーン分けができる)
# firewall-cmd --get-icmptypes
→ 定義されている ICMP タイプの一覧を表示
# firewall-cmd --list-icmp-blocks --zone=public
→ public ゾーンで禁止されている ICMP タイプの一覧を取得
# firewall-cmd --add-icmp-block=redirect --zone=public --permanent
# firewall-cmd --add-icmp-block=router-advertisement --zone=public --permanent
# firewall-cmd --add-icmp-block=router-solicitation --zone=public --permanent
→ public ゾーンで不要な ICMP タイプを禁止
# firewall-cmd --get-services
→ 定義されているサービスの一覧を表示
# firewall-cmd --list-services --zone=public
→ public ゾーンで許可されているサービスの一覧を取得
# firewall-cmd --add-service=http --zone=public --permanent
→ public ゾーンに http サービスを追加
# firewall-cmd --query-service=http --zone=public
→ まだ http は追加されていないはず(再読み込みが必要)
# firewall-cmd --reload
→ 設定を再読み込みして反映させる
# firewall-cmd --query-service=http --zone=public
→ http が追加されたことを確認
まだ EPEL が出揃っていないので、fedora のパッケージから fail2ban をインストール(RHEL7 は fedora19 ベース)
# yum install ed gamin-python python-inotify
# wget http://ftp.iij.ad.jp/pub/linux/fedora/updates/19/x86_64/fail2ban-0.8.11-2.fc19.noarch.rpm
→ 最新版をダウンロード
# rpm -ivh fail2ban-0.8.11-2.fc19.noarch.rpm
# vim /etc/fail2ban/fail2ban.conf
33c33
< logtarget = SYSLOG
---
> logtarget = /var/log/fail2ban.log
# vim /etc/fail2ban/jail.conf
77c77
< sendmail-whois[name=SSH, dest=root, [email protected], sendername="Fail2Ban"]
---
> sendmail-whois[name=SSH, dest=root, sender=fail2ban, sendername="Fail2Ban”]
# systemctl start fail2ban
# systemctl enable fail2ban
# yum install httpd mod_ssl php php-mbstring php-mysql php-pdo php-pear php-xml php-gd mariadb mariadb-server
# vim /etc/httpd/conf/httpd.conf
125c125
< AllowOverride None
---
> AllowOverride All
144c144
< Options Indexes FollowSymLinks
---
> Options FollowSymLinks
151c151
< AllowOverride None
---
> AllowOverride All
247c247
< ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
---
> #ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
316c316
< AddDefaultCharset UTF-8
---
> #AddDefaultCharset UTF-8
354a355,356
> ServerTokens Prod
> TraceEnable off
478c478
< display_errors = Off
---
> display_errors = On
672c672
< post_max_size = 8M
---
> post_max_size = 32M
800c800
< upload_max_filesize = 2M
---
> upload_max_filesize = 32M
878c878
< ;date.timezone =
---
> date.timezone = Asia/Tokyo
# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
→ サーバのスペックに応じて適切なものをコピー
39a40,42
> thread_concurrency = 4
> character-set-server = utf8
> expire_logs_days = 7
120,122c123,125
< #innodb_data_home_dir = /var/lib/mysql
< #innodb_data_file_path = ibdata1:10M:autoextend
< #innodb_log_group_home_dir = /var/lib/mysql
---
> innodb_data_home_dir = /var/lib/mysql
> innodb_data_file_path = ibdata1:10M:autoextend
> innodb_log_group_home_dir = /var/lib/mysql
125,126c128,129
< #innodb_buffer_pool_size = 16M
< #innodb_additional_mem_pool_size = 2M
---
> innodb_buffer_pool_size = 16M
> innodb_additional_mem_pool_size = 2M
128,131c131,134
< #innodb_log_file_size = 5M
< #innodb_log_buffer_size = 8M
< #innodb_flush_log_at_trx_commit = 1
< #innodb_lock_wait_timeout = 50
---
> innodb_log_file_size = 5M
> innodb_log_buffer_size = 8M
> innodb_flush_log_at_trx_commit = 1
> innodb_lock_wait_timeout = 50
# systemctl start mariadb
# systemctl enable mariadb
# mysql_secure_installation
# wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.2.6/phpMyAdmin-4.2.6-all-languages.tar.gz?r=http%3A%2F%2Fwww.phpmyadmin.net%2Fhome_page%2Fdownloads.php&ts=1405924699&use_mirror=jaist
→ 最新版をダウンロード
# tar zxfv phpMyAdmin-4.2.6-all-languages.tar.gz
# mv phpMyAdmin-4.2.6-all-languages /usr/share/
# ln -s /usr/share/phpMyAdmin-4.2.6-all-languages /usr/share/phpmyadmin
# cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Apache に phpMyAdmin へのアクセス設定を追加
# vim /etc/httpd/conf.d/phpmyadmin.conf
→ 以下の内容を記述
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Directory /usr/share/phpmyadmin/setup>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
Require all denied
</Directory>
# systemctl reload-or-restart httpd