PHP実行環境高速化

はじめに

PHP自体のバージョンアップとキャッシュ環境の設定をする。

手順

remiリポジトリからPHP最新版(7.2.11)とopcache、apcuをインストールする。

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install --enablerepo=remi,remi-php72 php php-mbstring php-xml php-xmlrpc php-gd php-pdo php-pecl-mcrypt php-mysqlnd php-pecl-mysql
yum install --enablerepo=remi,remi-php72 php-fpm
yum install --enablerepo=remi,remi-php72 php-opcache php-pecl-apcu
systemctl restart php-fpm
systemctl restart nginx

 

DDNSで名前解決

はじめに

固定IPを取得しているなら関係のない記事。

当方、動的IPのまま運用している為、導入した。

手順① myDNSでアカウントを取得

join usから登録し、登録内容通知メールを確認。

手順② DDNS反映スクリプトを作成

sudo su -
cd
mkdir scripts
vim cron_mydns.sh

以下のように設定

wget -O- "https://USER:PASSWORD@ipv4.mydns.jp/login.html"

手順③ cronへ登録

*/5 * * * * root /root/scripts/cron_mydns.sh  > /dev/null 2>&1

 

中国からのSSH接続がうざいので・・・SSHアクセスを鍵認証へ変更しrootログイン禁止に

手順① キーペアを作成

当方の環境ではpoderosaでSSH接続している。

新しいキーペアを作成し保存。

手順② 公開鍵をサーバーへ設置

cd
mkdir .ssh
chmod 700 .ssh
cd .ssh
vim vim authorized_keys

公開鍵をauthorized_keysへ保存

chmod 600 authorized_keys

手順③ SSH接続を鍵認証へ変更

sshd_configを修正

vim /etc/ssh/sshd_config

鍵認証を許可する。

PubkeyAuthentication yes

sshd再起動

systemctl restart sshd

秘密鍵を指定してssh接続を試す。

成功したら追加で、rootログインとパスワードログインを禁止する。

PermitRootLogin no
PasswordAuthentication no

sshd再起動

systemctl restart sshd

CentOS7でファイルサーバーを設置

手順

インストール

yum install samba samba-client samba-common
vim /etc/samba/smb.conf

ゲストユーザーでのアクセスを許容する設定

[global]workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos7
security = user
map to guest = bad user
dns proxy = no
#==========================================================
[SDA]
path = /mnt/sda/
browsable =yes
writable = yes
guest ok = yes
read only = no

起動及び常駐

chmod -R 0777 /mnt
chown -R nobody:nobody /mnt

systemctl start smb
systemctl start nmb
systemctl enable smb
systemctl enable nmb

Windows7での表示例

CentOS7へリモートデスクトップ接続

手順① GUIインターフェースの導入

yum groups install "GNOME desktop"
systemctl set-default graphical.target
reboot

手順② xrdpの導入

yum install epel-release
yum install xrdp tigervnc-server
firewall-cmd --permanent --zone=public --add-port=3389/tcp
firewall-cmd --reload
systemctl start xrdp
systemctl enable xrdp

WindowsのPCで普通にリモートデスクトップ接続

CentOS7、nginx環境へWordPressの設置

手順①WordPressのダウンロードおよび設置

cd /tmp
wget https://ja.wordpress.org/wordpress-4.9.8-ja.tar.gz
tar -zxvf wordpress-4.9.8-ja.tar.gz -C /var/www/nyahun.net/
cd /var/www/nyahun.net
chown -R nginx:nginx wordpress

手順② データベースの作成

mysql -u root -p

create database memo;
create user 'memo'@'localhost' identified by 'password';
grant create,select,insert,update,delete on memo.* to 'memo';
flush privileges;
exit;

手順③ nginxの設定

vim /etc/nginx/conf.d/nyahun.net.conf

location ~ \.php$ {
    root           /var/www/nyahun.net/wordpress;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}
systemctl restart nginx

手順④ WordPressの設定


ブラウザから「https://nyahun.net」へアクセスし、ログインユーザー・パスワード・データベース設定をし完了。

CentOS7へnginxをインストール

手順① nginxのインストール


nginxリポジトリの追加

vim /etc/yum.repos.d/nginx.repo
[nginx]
 name=nginx
 repo baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
 gpgcheck=0
 enabled=1$

インストール

yum install nginx

起動および常駐

systemctl start nginx
systemctl enable nginx

 

ブラウザで表示を確認して完了。手順② SSL証明書対応

Let’s Encryptを導入する。

yum install certbot-nginx

証明書を発行する。

certbot --nginx -d nyahun.net

 

途中の選択肢で、httpでアクセスされたらhttpsへリダイレクトする設定を選択。
crontabへ証明書更新を追加。

vim /etc/crontab

0 0 * * * root /usr/bin/certbot renew --post-hook "systemctl restart nginx.service" > /dev/null 2>&1

手順③ HTTP2化

vim /etc/nginx/conf.d/nyahun.net.conf

listen       443 ssl http2;
systemctl restart nginx