brown water

ゲームやアニメの感想とかプログラムとか

さくらのVPSに挑戦1(環境構築編)

さくらのVPSを使って、2週間の無料お試し期間の間に設定等をしてみました。

ドットインストールにレッスンがあるので、それを見ながら進めていたのですが、途中ハマった箇所等があったのでメモしておきます。

環境等

ローカルの環境はUbuntu16を使います。

登録後、メールでパスワード等が送られてくるので、ブラウザでそこに記載されているコントロールパネルのURLにアクセスし、ログインします。

OSのインストール

f:id:chaz4:20180212192050j:plain 標準OSの中の「CentOS6」を選択します。
管理ユーザー名が「root」であることを覚えておき、あとは好きなパスワードを設定します。
インストールを開始し、稼働中になれば完了です。

作業をしていってどうにもならなくった時に、OSの再インストールをしてやり直すというのを何度かしました(汗)

OSもいくつか試しましたが、インストール自体は30秒くらいで終わるので思ったよりも気軽に出来ます。

インストール後、アップデートをかけるわけですが、CentOS7とUbuntu16はアップデートの時間が結構長いのに対し、CentOS6はアップデートがないためすぐ使えます。(2018/2/12現在)

今回はセットアップの練習用だし、すぐにやり直し出来るCentOS6が良いと思いました。

あと、プライベートではUbuntuをメインに使ってるからサーバーもそうしたいと思ったのですが、サーバー関係の情報はCentOSの方が多いようです。

サーバーにログイン

何度かやり直しているせいか、秘密鍵があるとログイン出来ないようです。
秘密鍵を複数管理したり、設定し直すやり方は知らないので、簡単にするために先に削除しておきます。
/home/ユーザー名/.ssh/ の中にあるので、ディレクトリの中を空にしておく。
準備が整ったらローカルで端末を起ち上げ、

ssh root@xxx.xxx.xxx.xx

でログイン。xxxは記載されているIPアドレス
yesで答え、インストール時に設定したパスワードを入力するとログイン出来ます。

本来ならこの後、秘密鍵を作ったり作業用ユーザーを作ったりするのですが省略してrootのまま続行します。

ポート番号の変更

デフォルトでは22になっていて広く知られているため、適当な番号に変更します。1024~65535の間で設定可。
念の為にバックアップをとってから編集していきます。

sudo vim /etc/ssh/sshd_config

上の方に「#Port 22」と書いてある所があるので、#を外して有効にします。
この次の行に好きな番号を「追記」します。
ここの22を書き換えてもいいのですが、そうするとハマりました。
書き換えた番号のポートでログイン出来るようになるはずですが、ファイアウォールの方も同じ番号を開放しないとログイン出来ません。
なので、書き換えてしまうとログアウトした後に22も使えなくなり、ログイン出来なくなります・・・。
失敗したらOS再インストールすれば大丈夫です(笑)

とりあえずは新しい番号と22の両方を指定しておきます。

Port 22
Port 12345

保存して抜ける。

ファイアウォールの設定

こちらもバックアップをとってから編集していきます。

sudo vim /etc/sysconfig/iptables

dport 22というのが書かれている行をそのままコピーして、こちらも新しい番号を追記していきます。
先ほど設定したPort番号と、あとは80も同じように追記します。
80はhttp通信を行うポートで、これを開けておかないとブラウザから見ることが出来ません。これもハマった・・・。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 12345 -j ACCEPT

保存して抜けたら、設定を有効にする。

service sshd restart
service iptables restart

一旦exitで抜けて、ポート番号を指定してログイン出来るか確認する。
-pの後に先ほど設定したポート番号を入れる

ssh -p 12345 root@xxx.xxx.xxx.xx

ログインに成功したら完了。
まだポート22からアクセス出来る状態なので、
sshd_configとiptablesの22を削除し、設定を有効にすればOKです。

全国送料無料!IT書、ビジネス書、資格書が豊富なSEshop

アパッチのインストール

yum install httpd

chkconfig httpd on
service httpd start

インストール後に設定ファイルを変更するのですが、省略。このままでも動くようです。
アパッチが起動したらブラウザからIPアドレスを入力し、初期画面が表示されたら成功です。
f:id:chaz4:20180212193020j:plain /var/www/html/ のディレクトリにあるファイルを読むので、ここにindex.html等を入れてページを表示させることができます。

PHP7のインストール

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

yum install --enablerepo=remi,remi-php70 php php-mysqlnd php-gd php-xml php-xmlrpc php-mbstring php-mcrypt php-fpm php-opcache php-apcu -y

インストール後、設定ファイルを書き換えます。
/etc/php.ini

error_log = php_erros.log を /var/log/php_errors.log
date.timezone = "Asia/Tokyo"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.detect_order = auto
expose_php = on を off

行頭のコメント(;)を外して有効にする、または書き換える。
保存したらhttpd再起動

service httpd restart

MySQL5.7のインストール

yum localinstall http://dev.mysql.com/get/mysql57-community-release-el6-8.noarch.rpm

yum install --enablerepo=mysql57-community mysql-community-server

chkconfig mysqld on
service mysqld start

無事にインストール&起動が出来たらパスワードの変更をしていきます。
/var/log/mysqld.logに初期パスワードが書かれているので開いてメモっておく。
見づらいのですが、6行目にありました。

A temporary password is generated for root@localhost:  ★★★

★の所がパスワードです。
なお、パスワードは大小の英文字、数字、特殊文字がそれぞれ1つ以上含み、8文字以上の長さが必要です。

mysql_secure_installation

で先ほどメモったパスワードでログインすると、新しいパスワードを聞かれるので入力、そして再度入力。
他はEnterを押して抜けます。 今回は Pass!555 にしてみました。

続いて /etc/my.cnf を編集していきます。

character-set-server=utf8
default-storage-engine=InnoDB
[mysql]
default-character-set=utf8

上記を追記して保存、

service mysqld restart

で再起動して設定を有効にします。

これで各種インストール&設定が終わったので次回はこれを使ってプログラムを書いていきたいと思います。


Amazon.co.jpアソシエイト