Vagrant環境にSSHで入る
それでは自分のパソコンにつくったVagrant領域に入ってみましょう。
# vagrant upしている状態で。 $ vagrant ssh
このコマンドをうつと、SSH接続で入ります。
下記のように変わると思います。
これで、今擬似的に自分がつくったサーバーに入ったことになります。
しかし、現段階でサーバーは真っ白な状態なので、いろいろなことを覚えさせなければなりません。
OSのアップデート
まずはOSをアップデートします。
現在はvagrant
ユーザーとしてログインしているのですが、
vagrant
だと問題がある場合があるので、さらに実行権限が高いroot
ユーザーなります。
root
ユーザーはデフォルトで用意されている スーパーユーザー です。
$ sudo -s
これで下記のように変化すると思います。
@
より前がユーザー名、後ろがホスト名です。
このスーパーユーザーの状態で、下記コマンドを打ちます。
途中で、「 これでいいですか? [y/N] 」と聞かれるので、キーボードのy
を押してください。
これは少し時間がかかります。
$ yum update
CentOSの日本語化
vi
コマンドを使用して、設定ファイルを書き換えます。
この機会に基本的な操作を覚えてしまいましょう。
vi
コマンドはGit bash、もしくはターミナル上でファイルを編集するコマンドです。
普段はテキストエディターでやっていることをこの画面上でやります。
vi /etc/sysconfig/i18n
このコマンドをうつと、下記のような画面になります。(画像はわざと画面を小さくしています。)
さて、このままでは上下移動はできても、編集することはできません。
そこで、キーボードのi
を押してください。
左下がINSERT
に変わると思います。
i
を押すことで、モードを変えることができます。
INSERT
は編集状可能な状態です。
この状態であれば、入力、削除が可能ですので、最上段のLANG="en_US.UTF-8"
をLANG="ja_JP.UTF-8"
に変更します。
(実際はen_US
をja_JP
に変えるだけです。)
さて、vi
を終わるときにも手順があります。
esc
(エスケープキー)を押す。(INSERT
モードが解除されます。):
(セミコロン)を押した後、w
、q
と順番に押す。
これで、もとの画面に戻ったと思います。
ちなみにw
は書き込み(write)、q
は終了(quit)の意味です。
2つ組み合わせることで「 上書きして終了 」という意味になります。
なお、:q!
で変更を保存せずに終了です。
ファイヤーウォールを切っておく
自分のパソコン(ローカル環境)なので、不要なものは切っておきましょう。
# ファイヤーウォールを停止 $ service iptables stop # ファイアウォールの自動起動を停止 $ chkconfig iptables off
Vagrantを再起動
ここで、Vagrant環境を抜け、再起動しましょう。
exit
と入力することで、現在のroot
ユーザーからvagrant
ユーザーに戻ります。
さらにもう1度exit
と入力すると、Vagrant環境からログアウトします。
ログアウトしたら、下記のコマンドで再起動します。
$ vagrant reload
再起動が完了したら、もう1度ログインして、スーパーユーザーになっておきましょう。
$ vagrant ssh $ sudo -s
Webサーバーのインストール
Webサーバーには様々な種類がありますが、一般的にLAMP環境というと、Apacheを使用します。
今後、「 これでいいですか? [y/N] 」と聞かれたら、キーボードのy
を押してください。
# Apacheのインストール $ yum -y install httpd # Webサーバーの起動 $ service httpd start # サーバーが常に自動起動になるように設定 $ chkconfig httpd on
ここまで完了したら、以下のアドレスにアクセスしてみてください。
http://192.168.33.10/
下図のように表示されればOKです。
※Windows10の方へ
インターネットブラウザに「Microsoft Edge」(eマークのやつです)を使っている方は、上記アドレスへのアクセスが出来ません。
原因及び理由は不明なのですが、ネット上でも問題となっています。
代わりに「Google Chrome」を使用してください。
https://www.google.co.jp/chrome/browser/desktop/
なお、Web開発においては検証ブラウザに「Google Chrome」を使用することが多いです。
(デベロッパーツールなど、Web開発に便利なツールを実装しているため)
また、GoogleのWebメールであるところの「GMail」を始めとして、各種Googleのサービスとの連携がとても楽なので、
この際ですからメインのブラウザを「Google Chrome」に統一しちゃいましょう。
(宗教上の理由でChromeがNGな方でも、開発の時だけはChromeを使う方が何かと幸せになれます。
それでもEdgeを使いたい、という方は自己責任で。)
PHPのインストール
それではPHPをインストールしていきます。
今回は、PHP 5.6です。
# まずは準備 $ rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm # 準備その2 $ rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm # PHPのインストール $ yum -y install php56w php56w-cli php56w-common php56w-devel php56w-mbstring php56w-mcrypt php56w-mysql php56w-pdo php56w-pear php56w-pecl-xdebug php56w-xml
ここまで完了したら、php -v
と打ってみましょう。
PHPのバージョンが確認できます。
php.iniの編集
php.ini
というPHPの設定を記述したファイルを編集します。
まずはcp
コマンドでバックアップをとります。
cp
はコピーの略で、前半がコピー元、後半がコピー後です。
$ cp /etc/php.ini /etc/php.ini.org
それでは、php.ini
をvi
コマンドで書き換えていきましょう。
とはいえ、php.ini
は行数が多いので、変更場所を自分で探すのは一苦労です。
そのため、vi
コマンドの機能である検索機能、/
(スラッシュ)を使用しましょう。
$ vi /etc/php.ini
/error_log =
と入力(=
の前には半角スペースを入れる!)Enter
を押す- そうすると、下記の部分にとぶと思います。
;error_log = php_errors.log
esc
(エスケープ)を押し、i
でINSERT
モードに変えます。- そして、下記のように変更してください。
error_log = /var/log/php_errors.log
上記と同様に、下記の部分を検索して変更しましょう。
なお、最悪自力で見つけても大丈夫です。
検索の詳しい方法は下記のリファレンスを参照してください。
viコマンド一覧(検索・置換)
;mbstring.language = Japanese ↓ mbstring.language = Japanese
;mbstring.internal_encoding = ↓ mbstring.internal_encoding = UTF-8
;mbstring.http_input = ↓ mbstring.http_input = auto
;mbstring.detect_order = auto ↓ mbstring.detect_order = auto
expose_php = on ↓ expose_php = off
;date.timezone = ↓ date.timezone = Asia/Tokyo
編集終了後は必ず:wq
で保存して終了しましょう。
ここまで編集が完了したら、一旦Webサーバーを再起動します。
$ service httpd restart
ここで、PHPのチェックのため、vi
コマンドで直接PHPファイルを作成してみます。
vi /var/www/html/info.php
このファイルにて、下記のコードを記述してください。
(INSERT
モードで。)
<?php phpinfo();
再三になりますが、:wq
で保存して終了です。
最後に下記にアクセスして確認します。
[http://192.168.33.10/info.php]
MySQLのインストール
それではMySQLをインストールします。
$ yum install mysql-server
完了したら、MySQLに関しても設定ファイルを編集します。
# まずはcpコマンドでバックアップのためコピー $ cp /etc/my.cnf /etc/my.cnf.org
# my.cnfを編集します $ vi /etc/my.cnf
さて、下記のように設定ファイルを丸々書き換えていただきたいです。
INSERT
モードであれば、実はコピーしたテキストファイルを貼り付けることが可能です。
(Macの人はCtrl + V
、Windowsの人は右クリックのPaste
)
内勤担当者へ MySQLのクエリログについては要確認です!
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 character_set_server=utf8 default-storage-engine=InnoDB innodb_file_per_table log-error=/var/log/mysqld.log [mysql] default-character-set=utf8 [mysqldump] default-character-set=utf8 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
書き換えが完了したら、MySQLを起動します。
$ service mysqld start
ここで、下記コマンドによって、MySQLの初期化メソッドを呼びます。
$ mysql_secure_installation
このコマンドを実行すると、いくつか質問されます。
# 現在のパスワードを聞かれます。まだ何も設定していないので、Enterをおしてください。 Enter current password for root (enter for none):
# 新しくMySQLのrootユーザーに対してパスワードを設定するか聞かれています。 # Yと入力しましょう Set root password? [Y/n]
# 新しいパスワードを設定します。 # rootと入力してEnterを押してください New password: # 再度パスワードを聞かれます。 # 先ほど設定したrootを入力してください Re-enter new password:
ここから下は任意の設定になるため、基本はEnterでスキップして大丈夫です。
# Enterを押す Remove anonymous users? [Y/n]
# Enterを押す Disallow root login remotely? [Y/n]
# Enterを押す Remove test database and access to it? [Y/n]
# Enterを押す Reload privilege tables now? [Y/n]
最終的に下記の表示になるはずです。
次にMySQLの自動起動設定をします。
$ chkconfig mysqld on
それでは最後にMySQLにログインしましょう。
$ mysql -u root -p # パスワードを聞かれるので、先ほど設定した「root」を入力
パーミッションの変更
後々必要になるパーミッションの設定をここでやっておきます。
これについては詳しい説明を割愛しますので、下記のコマンドを打ってください。
# /var/www/html に書き込みを許可する $ chmod -R 777 /var/www/html # /var/lib/mysql に書き込みを許可する $ chmod -R 777 /var/lib/mysql
以上で、仮想環境の設定は終了です。
お疲れ様でした!