自分メモです。
画像とかないのでわかりにくいです。
VMを人に渡すことを想定しています。
事前準備
VMWareをDLしておきます。(今回使っているのは7.1.0 build-2496824)
64bitのCentOS7のDVDのisoをDLします。
VMWareのウィザード
VMWareを起動し、「新規仮想マシン」を選択します。
次のように設定します。
項目タイトル | 設定項目 | 設定内容 |
---|---|---|
新規仮想マシン作成ウィザードへようこそ | インストール元(ラジオボタン) | 後でOSをインストール |
ゲストOSの選択 | ゲストOS | Linux(デフォルト) |
ゲストOSの選択 | バージョン | CentOS 64ビット(デフォルト) |
仮想マシンの名前 | 仮想マシン名 | 任意 |
仮想マシンの名前 | 場所 | 特に変更しない |
ディスク容量の指定 | ディスク最大サイズ(GB)(S) | 20.0(デフォルト) |
ディスク容量の指定 | - | 仮想ディスクを単一ファイルとして格納(人に渡すとき便利だから) |
完了。
CentOS7のインストール
VMWareの一覧に表示されるので、「仮想マシン設定の編集」を押します。
ハードウェアタブのCD/DVD(IDE)の接続で「ISOイメージファイルを使用する(M)」を選びます。
DLしておいたisoファイルを選択して設定画面を閉じます。
仮想マシンを起動します。
「Install CentOS 7」を選択します。
(仮想なのでメディアのチェックが不要なため)
言語を選択します。
インストールの概要画面で、不足している設定を実施します。
私のときはインストール先が選択されていなかったので選択しました。
その他に、ソフトウェアの選択で、
「ベース環境」を「最小限のインストール」
「選択した環境のアドオン」を「開発ツール」
にします。
インストールの開始ボタンを押します。
インストール中にRootパスワードを設定します。
(設定できます)
インストールが終わったら再起動しろと言われるのでします。
Linuxの設定
ネットワークの設定
ip addr
で見ると、IPアドレスが設定されていないように見えます。
次のファイルを設定します。
$ vi /etc/sysconfig/network-scripts/ifcfg-eno…[インターフェイス名]
このファイルでONBOOT=yesにします。
また、UUIDをコメントアウトします。(人に渡す想定があるため)
再起動します。
ping
で外部のサーバを叩いてみます。(google.comとか適当に)
通ります。
wget
wgetコマンドは使うのでインストールします。
$ yum install -y wget
時刻合わせ
大体の時刻を合わせます。
timedatectl set-time "YYYY-MM-DD hh:mm:dd:ss"
VMの場合、時刻同期はVMWareToolsで取得できます。
ただ、CentOSの場合は下記をインストールします。
$ yum install -y open-vm-tools
そして、後述の参考サイト通りに有効化します。
systemctl enable vmtoolsd.service
systemctl start vmtoolsd.service
参考:http://qiita.com/tbuchi888/items/fae2bc002cf7a12632d5
その後、timedatectl
コマンドを打てば(引数なし)でOK。
ハードウェアクロックとソフトウェアクロック
参考:http://www14.plala.or.jp/campus-note/vine_linux/system/clock.html
ハードウェアクロックは、マザーボードが持つ内部時計であり、BIOS クロックやCMOS クロックとも呼ばれます。 システムクロックは、Linux がカーネル内部に持っている時計であり、私達が画面上で見るのはこのシステムクロックになります。
ハードウェアクロックが大元の時間で、システム起動時に参照されるらしい。
だから時刻を設定しても戻ってしまうときがある。
文字コードの確認
/etc/locale.conf
を確認して、LANG="ja_JP.UTF-8"
になっていなければ変更します。
SELinuxの無効化
SELinuxは使用しないので無効化します。
getenforce
コマンドで現状を確認。
Enforcing
なら動いている。
無効化。
setenforce 0
もう一度getenforce
コマンドで現状を確認し、Permissive
でOK。
永続化させるため、/etc/sysconfig/selinux
にSELINUX=disabled
を追加する。
firewallの設定
firewallの確認
systemctl status firewalld
設定
firewall-cmd --add-service=http --zone=public --permanent
firewall-cmd --add-service=https --zone=public --permanent
firewall-cmd --add-service=mysql --zone=public --permanent
※mysqlも使うので追加
firewallコマンド使用オプション
オプション | 説明 |
---|---|
--list-services | 現在使用しているサービスを表示 |
--zone=public | publicゾーンを表示(初期で9つのゾーンがある) |
--add-service | サービスを追加する |
--permanent | 永続化(表示の場合は永続化したものを表示) |
参照:http://www.server-memo.net/centos-settings/firewalld/firewalld.html
ここまで設定したらreboot
する。
バーチャルボックスの場合
https://qiita.com/take-ookubo/items/930f2619268c15c4e6b2
を参考にNAT設定するとよい。
ミドルウェアの導入
Apacheの導入
Apacheをインストールする。
参考:https://weblabo.oscasierra.net/apache-installing-apache24-yum-centos7-1/
まずApacheの情報を確認。
yum info httpd
※ここでRepodata is over 2 week old.
みたいなメッセージが出たら、yum makecache fast
しとく。(yumのキャッシュデータが古いため)
2.4.6が入るようです。
yum -y install httpd
httpd -version
で正常に入ったことを確認。
自動起動のために下記コマンドを実施。
systemctl enable httpd.service
起動後(systemctl start httpd.service
)、systemctl status httpd.service
でactiveになっていることを確認。
しかしこのままでは接続できず。(403エラー)
Apacheの初期画面がなかったからっぽい?
touch /var/www/html/index.html
したらOKぽかったです。
ちなみにエラーログは/var/log/httpd/error_log
にいる。
初期画面の出方についてか下記のサイトが勉強になりそう。
http://www.task-notes.com/entry/20150629/1435546800
このサイトでIndexは外しておいた方がいいとあったので。/etc/htttpd/conf/httpd.conf
の設定からIndexs
外しました。
これでapacheは完了。
MySQL
参考:https://weblabo.oscasierra.net/installing-mysql57-centos7-yum/
mariaDBの削除
競合を起こす可能性があるので、mariaDBを削除する。
yum remove mariadb-libs
参考サイトにはデータフォルダも削除とあったけど、データフォルダはないようなので先へ。
インストール
公式のyumリポジトリを追加。
yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
yum info mysql-community-server
で確認できるようになればOK。
MySQLのバージョンは5.7.19
っぽい。
MySQLをダウンロード。
yum -y install mysql-community-server
確認。
mysqld --version
自動起動設定。
systemctl enable mysqld.service
起動。
systemctl start mysqld.service
設定
参考:https://weblabo.oscasierra.net/mysql-57-init-setup/
パスワードが設定されているらしい、
初回起動でログに残るので、cat /var/log/mysqld.log | grep password
で確認した。
mysql_secure_installation
では下記のことが設定できるとのこと。
root ユーザーのパスワードの変更
VALIDATE PASSWORD プラグインのインストール
ポリシーに沿った root ユーザーパスワードの設定 (VALIDATE PASSWORD プラグインをインストールした場合)
anonymous ユーザーの削除
リモートホストから root ユーザーでログインするのを禁止する
testデータベースの削除 (存在する場合)
mysql_secure_installation
コマンドで、参考サイトのように入力する。
0かyでOK。
パスワードが大文字+小文字+数字+記号のフルコンボで辛かった。
設定ファイル/etc/my.cnf
のmysqldに下記設定を追加。
character-set-server = utf8
default_password_lifetime = 0
これでMySQLは完了。
PHPの導入
参考:https://weblabo.oscasierra.net/centos7-php71-install/
EPELリポジトリ→Remiリポジトリの追加
EPELリポジトリ情報をインストール。
yum -y install epel-release
Remiのリポジトリ情報をインストールする。
cd /etc/yum.repos.d
curl -O http://rpms.famillecollet.com/enterprise/remi.repo
yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
ls -l /etc/yum.repos.d/
にremi系が入っていればOK。
PHP7.1があるかサーチする。
yum search php71
インストールする。
yum -y install php71 php71-php
phpinfoを作成。
/var/www/html/info.php
に下記を追記。
<?php
phpinfo();
info.phpにアクセスして見れればOK。
最初文字だけしか表示されなかったので焦ったw
php
コマンドがないな?と思ったら、php71
って名前になっている模様。
phpでもできるようだけど、とりあえずは放置。71って付けるだけだし…。
Symfony3のインストール
参考:http://symdoc.kwalk.jp/doc/book/installation
curl -Ls https://symfony.com/installer -o /usr/local/bin/symfony
chmod a+x /usr/local/bin/symfony
これで終わり。
(あとはアプリケーション作成とかする)
開発環境をセットアップ
Composer
参考:http://symnote.kwalk.jp/blog/2015-12-05/composer
curl -sS https://getcomposer.org/installer | php71
mv composer.phar /usr/local/bin/composer
ここにきてComposerやSymfonyがコマンドとして動いていないことに気づく。
どうやら、php71
はphp
にしないといけないらしい。
なので下記コマンドでphpとして使えるようにする。
(多分内部的にphpコマンド使ってるんだと思われ)
これにたどり着くまでPATH入れまくったので、もし下記コマンドでもできない場合はPATHを試すといいかも。
scl enable php71 bash
これ以降、symfonyとcomposerうまくいくようになる。
一応これで大体おしまい。なはず。