インストールする。
# yum -y install epel-release
必要な時以外は無効にしておかないとトラブルの元になる。
enable=1→0
# vi /etc/yum.repos.d/epel.repo
人生の最終目標は気ままな老後生活
インストールする。
# yum -y install epel-release
必要な時以外は無効にしておかないとトラブルの元になる。
enable=1→0
# vi /etc/yum.repos.d/epel.repo
各設定ファイルを編集する。編集後に再起動する必要はない。
ローカル認証 /etc/pam.d/system-auth
リモート認証 /etc/pam.d/password-auth
# auth句の2行目に追記 auth required pam_tally2.so deny=5 unlock_time=900 even_deny_root # account句の1行目に追記 account required pam_tally2.so
※denyが試行許容値 ※unlock_timeはロックされる秒数
※even_deny_rootはRootにも適用するという記述
ユーザーを追加する。
# useradd ftp-user
パスワードを設定する。
# passwd ftp-user
Webサービスが作成したファイルの操作を行うため作成したユーザーをApacheグループに追加する。
# usermod -G apache ftp-user
sshの設定ファイルを編集する。
# vi /etc/ssh/sshd_config
元々あるSubsystem…の構文はコメントブロックする。
Subsystem sftp internal-sftp
Chrootでアクセスさせるディレクトリを限定する。
Match User ftp-user ChrootDirectory /var/www/ ForceCommand internal-sftp
Apache、OpenSSL、ModSSLがインストールされている前提です。
インストールするディレクトリに移動。
$ cd /opt/
gitでプログラムを取得する。
# git clone https://github.com/letsencrypt/letsencrypt
ヘルプを表示すると必要コンポーネントをインストールしてくれる。
# cd letsencrypt # ./letsencrypt-auto --help
証明書の作成。
※事前にapacheのサービスを停止しておく
# ./letsencrypt-auto certonly --standalone -d www.example.com
ApacheのSSL設定。
/etc/httpd/conf.d/ssl.conf の最下部に下記を追記する。
<VirtualHost *:443> ServerName www.example.com DocumentRoot "/var/www/html/" <Directory "/var/www/html/"> AllowOverride All </Directory> SSLEngine on SSLProtocol -All +TLSv1.2 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA:!3DES:!RC4:!DH SSLHonorCipherOrder On SSLCertificateFile /etc/letsencrypt/live/www.example.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/www.example.com/chain.pem </VirtualHost>
証明書の自動更新設定。
更新するコマンドは下記の3行。
※ちなみにcertbot-autoに–dry-runオプションを付けるとテストが可能
# /bin/systemctl stop httpd # /usr/local/letsencrypt/certbot-auto renew --force-renew # /bin/systemctl start httpd
なのでcrontabで毎月1日の朝4時に更新を行うよう設定。
00 04 01 * * /bin/systemctl stop httpd; /usr/local/letsencrypt/certbot-auto renew --force-renew; /bin/systemctl start httpd
OS:Ubuntu16.10
SoftetherVPN:4.21
ビルドするためのパッケージをインストール。
# apt-get install build-essential
http://www.softether-download.com/ja.aspx?product=softetherからOSに合ったVPN ServerのURLを取得しセットアップファイルを取得する。
$ wget [URL]
ダウンロードしたファイルを移動。
# mv ファイル名.tar.gz /usr/local/
ファイルを展開。
# tar xvzf ファイル名.tar.gz
インストールディレクトリに移動。
# cd /usr/local/vpnserver/
ビルドするためにmakeコマンドの実行。
# make
/etc/systemd/system/vpnserver.serviceを下記内容で作成する。
[Unit] Description=SoftEther VPN Server After=network.target [Service] Type=forking ExecStart=/usr/local/vpnserver/vpnserver start ExecStop=/usr/local/vpnserver/vpnserver stop [Install] WantedBy=multi-user.target
自動起動を有効にして、サービスを起動する。
# systemctl enable vpnserver # systemctl start vpnserver
設定ツールをさっきのとこからダウンロード。設定をウィザードでWindowsから行った。
下記ポート開放して、とりあえず動いてる。
50/tcp 500/udp 4500/udp
パッケージの最新リストをサーバーから入手する。
# apt-get update
インストールされているパッケージを最新にアップデートする。
# apt-get -y upgrade
ディストリビューションを最新にアップデートする。
# apt-get -y dist-upgrade
auto eth0 iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 gateway 192.168.0.254 dns-nameservers 192.168.0.254 8.8.8.8
※DHCPに戻す場合
auto eth0 iface eth0 inet dhcp
CentOS7はデフォルトでMariaDBがインストールされていると思われるので、削除。
# yum remove mariadb-libs # rm -d -r -f /var/lib/mysql/
MySQLサーバーをローカルインストール。
※https://dev.mysql.com/downloads/repo/yum/を参考に適宜URLを変更
# yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
MySQLサーバーをインストール。
# yum -y install mysql-community-server
文字コードをUTF-8に設定する。
/etc/my.cnfを編集して下記1行を追加。
character-set-server = utf8
MySQLサーバーが自動起動するよう構成。
# systemctl enable mysqld.service
MySQLサーバーを起動。
※この時点でrootのパスワードが自動生成されログに書き込まれる(/var/log/mysqld.log)
# systemctl start mysqld.service
MySQLサーバーの初期設定。
# mysql_secure_installation
パスワードポリシーをMEDIUMからLOWに変更する。
mysql -p でログイン後に
SET GLOBAL validate_password_policy=LOW
php-mysqlのインストール。
# yum -y install php-mysql
Apacheをインストールする。
# yum install httpd
サブドメイン毎のルートディレクトリを設定する。
設定ファイル最下部に下記を追記する。
<VirtualHost *:80> ServerName test.example.com DocumentRoot "/var/www/html/test/" <Directory "/var/www/html/test/"> AllowOverride All </Directory> </VirtualHost>
SELinuxのラベル付けを行うためのユーティリティをインストールする。
# yum install policycoreutils-python
ルートディレクトリ以下をhttpdで読み書き可能にするSELinuxのラベル付け。
# semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/test(/.*)?" # restorecon -RF /var/www/html/test/
httpdがネットワークに接続することを許可するSELinuxの設定。
# setsebool -P httpd_can_network_connect true
PHPと使用する拡張機能をインストールする。
# yum install php # yum install php-mbstring # yum install php-json # yum install php-mysqlnd # yum install php-xml # yum install php-gd
Apacheを有効化してサービスを起動する。
# systemctl enable httpd # systemctl start httpd
ファイアウォールに例外を追加する。
# firewall-cmd --add-service=http --permanent # firewall-cmd --add-service=https --permanent
ファイアウォールの設定を読み込み。
# firewall-cmd --reload
パッケージ一覧を閲覧する。
# yum list
グループパッケージ一覧を閲覧する。hiddenを付けないと表示されないパッケージがある。
# yum grouplist hidden