LAMP構築: Linux仮想環境作成 by Virtual Box
よくLAMPの仮想環境作成するので手順をまとめてみました。
多分Vagrantとか使ったらいいんでしょうけど、いろんな仮想環境を構築するのでなれもふくめて、まとめていきます。
手順通りにやれば1時間以内には終わると思います。
環境依存かもしれないのでisoファイルは似た感じのを使ったほうが苦労は少ないかと。
準備
VirtualBoxのインストール
isoファイルのダウンロード
今回使用するisoはCentOsのMinimalを使用しています。
仮想環境の作成
VirtualMachineを作成
- タイプ: Linux
- Version: RedHat(64bit)
それ以外の部分はOkOkOKで大丈夫です。
VirtualMachineの設定
- Network: ブリッジアダプター
起動
マウスで操作できなければ、気合でTabを駆使して頑張ってください。
- ディスクの選択: CentOS-7-x86_64-Minimal-1810.iso
- INSTALLATION DESTINATION を選択して、Done で戻ると BeginInstallation が選択できる。
- root password を設定する。
- しばらくまつ。
- Reboot ボタンが押せるようになると思うので、それで再起動しましょう
Linuxの設定
root ユーザでloginしてください。
Network接続
nmtuiを起動します。
nmtui
- Edit a connection
- enp0s3(一個しかないはず) > Edit
- Automatically connect をTrueにする(SpaceでOn/Off切り替えができる)
- Ok押して、Quitする。
YumのUpdate
yumのUpdateが行えたら、Networkに接続できてます。
yum -y update
Centさんが頑張ってくれます。長いので気長に待ちましょう...
とりあえずこれで、仮想環境の作成ができました。
次は、Apacheのインストールにまいりましょう。
LAMP構築: ApacheのInstallataion
ではではApacheをインストールしていきたいと思います。
Apacheのインストールは簡単ですが、SelinuxやFirewallなどに躓くことがあります。
できるだけ楽してやっていきましょう
Apacheのインストール
# apacheのインストール
yum -y install httpd
# apache serverの起動を永続化
systemctl enable httpd
これだけです。簡単ですね。
つぎが最初のころにはまる問題点だと思います。
Security関係
初期状態だとApacheServerを起動してもアクセスできないので、
設定を行っていきます。
firewallにhttpserviceを追加
ファイヤ―ウォールさんが http の接続をはじいちゃいますので、
http をはじかないように設定しましょう。
firewall-cmd --zone=public --permanent --add-service http
Sellinuxの無効化
本番環境では無効にしてはいけないのですが開発環境なので、無効にするのが楽なので無効にしてしまいます。
vi で /etc/selinux/config 編集しましょう。
viはLinuxのエディターです。
i を押すと編集モードに、esc でコマンドモードになります。
編集が終わったらコマンドモードで :wp と入力し保存しましょう
vi /etc/selinux/config
SELINUX=disabled
では設定の反映のため再起動します。
reboot
Chromeで表示
ではChromeでちゃんとアクセスできるか確認しましょう。
Statusの確認
再起動がおわればそれぞれのStatusを確認しましょう
getenforce
service httpd status
- getenforce
- Disabled と表示されればOKです
- service httpd status
- Active: active (running) と表示があればOKです。
サイトにアクセス
では実際にWebサイトにアクセスしましょう。
まず ipaddress を確認します。
ip -a
enp0s3: のsectionにある、これっぽいなーってやつがadressです。(最後が255とかやないやつ)
例: 192.168.1.100
そのアドレスをChromeのurlに打ち込みましょう。
Testing 123...
と表示されれば接続できてますねー。
表示内容の編集
apacheの初期設定では、/var/html/ がserverのルートDirectoryです。
そこの index.html を最初に参照します。
実際にindex.htmlを作成して、サイトの表示が変わるか試してみましょう。
echo "Hello World" > /var/www/html/index.html
これで /var/www/html/index.html に Hello World と書き込まれました。
ChromeをReloadして
Hello World
と表示されれば成功です。
以上でApacheのInstallationが完了しました。
次はPHPのInstallationに進みましょう!
LAMP構築: PhpのInstallation
ではではPHP7をインストールしていきたいと思います。
Php7のインストール
デフォルトではyumにphp7が入ってないみたいなので、
yumでインストールできるようにRepositoryを追加してから。
PhpとPhpの基本Libralyをインストールしていきます。
# install php7 repo at yum repository.
yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
#install php7
yum install -y --enablerepo=remi,remi-php74 php php-gd php-pdo php-mbstring php-xml php-mysql
インストールができたらApacheを再起動します。
service httpd restart
動作確認
では、実際にPhpが動くか確認しましょう。
/var/www/html/ に php_info.php を追加してChromeで表示してみます。
echo "<?php phpinfo();" > /var/www/html/php_info.php
ではChromeでアクセスしてみましょう。
URLに [ipadress]/php_info.php でアクセスできます。
例: 192.168.1.100/php_info.php
Phpの情報がずらーと表示されればOKです。
これでphpもインストールすることができました!
次はmysqlですね。
LAMP構築: MySqlのInstallation
ではではMySql8をインストールしていきたいと思います。
個人的には最難関。間違ってMysql5をインストールしてからMysql8に戻すとかする時に、ちょっとつかれる...
ここらへんで VirtualBoxのSnapshot に保存とかしとくといつでも戻れるのでチャレンジしやすいかもです。
MySql8のインストール
デフォルトではyumにmysqlが入ってないみたいなので、
yumでインストールできるようにRepositoryを追加してから,
MySql8をインストールしていきます。
最新のMySqlのRepositoryを確認しましょう
/mysql80-community-release-el7-3.noarch.rpm の部分を最新のに合わせてください。
# add mysql-community-server repo at yum repository
yum -y install http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
# install mysql server
yum -y install mysql-community-server
Centさんがめちゃくちゃ頑張ってくれます。
長いので、猫と戯れるなりして気長に待ちましょう...
MySqlの起動
では実際に起動しましょう
# mysqlの起動永続化
systemctl enable mysqld
# mysqlの起動
systemctl start mysqld
# statusの確認
systemctl status mysqld
これで Active: active (running) になっていればOKです。
MySqlの初期設定
初期パスワード
まずrootユーザーが作成されているので、rootユーザーの初期パスワードを入手しましょう
cat /var/log/mysqld.log | grep root
A temporary password is generated for root@localhost: xxxxxxxxx
xxxxxxxxxx の部分が初期パスワードです。
基本はこれで出てくるはずなんですがもしなんか出てこないとなったらここを参照してください
参照先の my.cnf は /etc/my.cnf のことです。
自動設定
では初期設定を行います。
mysql_secure_installation を使用して設定します。
mysql_secure_installation
- パスワードを聞かれるのでゲットした初期パスワードを入力しましょう。
- 新しいパスワードを設定してください。
- それ以外はすべてEnterを押していけばOKです。
パスワード認証方式の変更
Mysql8のパスワード認証方式にPHPが対応していないので対応している認証方式に変更します。
[mysqld]
default-authentication-plugin=mysql_native_password
すべての設定が完了したらMySqlを再起動しましょう
systemctl restart mysqld
MySqlにアクセス
ではrootユーザでアクセスしてみましょう。
下記のコマンドを実行してパスワードを聞かれるの入力してください。
mysql -u root -p
# アクセスできるとコマンドラインの最初に mysql>と表示される
# databaseの一覧を表示
mysql>show databases;
# できたらquitしましょう
mysql> quit
これでMysqlのInstallationが完了しました。
まとめ
以上LAMPの環境構築でした。
LAMPの環境構築は始めてやるとはまりまくりますが、黒い画面になれるためにも一度一からやってみると勉強になりますよね。
仮想環境はめちゃくちゃ便利なのでぜひ活用していきたいと思います。
なんか変になったら消せばいいし、SnapShot機能もあるので戻せますし。
次は復習がてらにPhpの自作WebFrameworkを作ろかと思います。
ではその時に会いましょう。