LINE BOTをPHPで作る - サーバー準備(CentOs設定編)

LINE BOTテスト用に使うサーバーを準備する手順をメモします。
最小限インストール環境のCentOSの設定を行います。


■IPアドレスの確認

IPアドレスの確認
1
# ip addr

■パッケージのアップデート

1
# yum update

■SELinuxの無効化

1
# vi /etc/selinux/config
永久的に無効化します。
1
SELINUX=disabled
1
2
サーバー再起動
# reboot

■ファイヤーウォール

1
2
3
4
5
6
7
8
9
10
11
12
13
14
インストール
# yum -y install firewalld
 
確認("running"と表示されればOK!)
# firewall-cmd --state
 
起動していなかったら下記コマンドで起動
# systemctl start firewalld
 
自動起動
# systemctl enable firewalld
 
現在のファイアウォール設定の確認
# firewall-cmd --list-all

■FTP

1
2
3
4
5
インストール
# yum -y install vsftpd
 
設定変更
# vi /etc/vsftpd/vsftpd.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
匿名ユーザーのログインを禁止
anonymous_enable=NO
 
アスキーモードでのアップロード、ダウンロードを許可
ascii_upload_enable=YES
ascii_download_enable=YES
 
デフォルトでのアクセスを禁止
chroot_local_user=YES
アクセスを許可するユーザーリストの有効化
chroot_list_enable=YES
アクセスを許可するユーザーのリスト名
chroot_list_file=/etc/vsftpd/chroot_list
 
ディレクトリごとの削除を可能に
ls_recurse_enable=YES
 
IPv4をリッスンする
listen=YES
 
IPv6をリッスンしない
listen_ipv6=NO
 
PASVモード関連の設定
pam_service_name=vsftpd
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
tcp_wrappers=YES
pasv_enable=YES
pasv_min_port=0
pasv_max_port=0
その他設定ファイルを変更
1
2
3
4
5
6
7
8
user_listのrootをコメントアウト
# vi /etc/vsftpd/user_list
 
ftpusersのrootをコメントアウト
# vi /etc/vsftpd/ftpusers
 
chroot_listにrootを追加
# vi /etc/vsftpd/chroot_list
FTP設定終了です。
1
2
3
4
5
再起動
# systemctl restart vsftpd
 
自動起動設定
# systemctl enable vsftpd.service
FTP用のファイヤウォール設定
1
2
3
4
# firewall-cmd --add-service=ftp
# firewall-cmd --add-service=ftp --permanent
# firewall-cmd --list-services
# firewall-cmd --reload
FFFTPでサーバーに接続できました。

■Apache

1
2
3
4
5
6
7
8
9
10
11
インストール
# yum -y install httpd
 
自動起動
# systemctl enable httpd.service
 
起動
# systemctl start httpd.service
 
ステータス表示
# systemctl status httpd.service
1
2
3
4
5
6
7
8
httpサービスの追加
# firewall-cmd --permanent --add-service=http
 
設定更新
# firewall-cmd --reload
 
設定確認
# firewall-cmd --list-all
ホストマシンのブラウザで確認 192.168.8.100

■php

CentOsの標準は5.4ですが、Line Bot Sdkのバージョン外なので、今回はphp7をインストールします。
1
2
3
4
5
6
7
8
EPELリポジトリ
# yum install epel-release
 
Remiリポジトリ
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
 
PHP7をインストール
# yum install --enablerepo=remi,remi-php70 php php-devel php-mbstring php-pdo php-gd php-pgsql
phpのチェック phpinfo.phpをApacheのドキュメントルートにアップします。
1
2
3
<? php
phpinfo();
?>
ホストマシンのブラウザで確認


■postgresql

1
2
3
4
5
6
7
8
9
10
11
インストール
yum -y install postgresql-server
 
初期設定
postgresql-setup initdb
 
設定
vi /var/lib/pgsql/data/postgresql.conf
 
外部接続設定
vi /var/lib/pgsql/data/pg_hba.conf
1
2
3
listen_addressesとportの#を取り除く
listen_addresses = '*'
port = 5432
1
host all all 192.168.X.0/24 trust
postgresユーザーのパスワード設定
1
2
3
4
5
$ sudo passwd postgres
Changing password for user postgres.
New password: [パスワード入力]
Retype new password: [パスワード入力]
passwd: all authentication tokens updated successfully.
postgresqlのファイヤウォール設定
1
2
3
firewall-cmd --permanent --add-service=postgresql
firewall-cmd --permanent --add-port=5432/tcp
firewall-cmd --reload
サービス再起動
1
2
3
4
5
サービス再起動
systemctl restart postgresql.service
 
自動起動
systemctl enable  postgresql.service
ホストマシンからPgAdminⅢで確認

■wget

1
yum install wget

■zip

1
yum install unzip

■ngork

1
2
3
4
5
6
7
8
9
10
11
12
13
14
ダウンロード
$ wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
 
ファイル解凍
$ unzip ngrok-stable-linux-amd64.zip
 
ファイルを移動
$ mv ngrok /usr/local/bin/
 
状態確認
$ ngrok version
 
80ポートを公開
$ ngrok http 80
実行結果です。

■composer

1
2
3
4
5
6
7
8
9
10
11
ダウンロード
# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
 
実行
# php composer-setup.php
 
削除
# php -r "unlink('composer-setup.php');"
 
移動
# mv composer.phar /usr/local/bin/composer

■LineBOT PHP SDK

1
2
3
4
5
6
7
8
linebotというフォルダを作り&#12289;その中にsdkを入れます
# mkdir /var/www/html/linebot
 
linebotフォルダに移動
# cd /var/www/html/linebot
 
sdkのダウンロード
# composer require linecorp/line-bot-sdk
vendorというフォルダ内にsdkが入っています。


これでLINE BOTを作成・公開・テストできるサーバー環境が整いました。
後は本体を作っていきます。

LINE BOTをPHPで作る - BOT本体作成

コメント

人気の投稿