Help us understand the problem. What is going on with this article?

LAMP環境構築手順: 仮想環境

LAMP構築: Linux仮想環境作成 by Virtual Box

よくLAMPの仮想環境作成するので手順をまとめてみました。
多分Vagrantとか使ったらいいんでしょうけど、いろんな仮想環境を構築するのでなれもふくめて、まとめていきます。

手順通りにやれば1時間以内には終わると思います。
環境依存かもしれないのでisoファイルは似た感じのを使ったほうが苦労は少ないかと。

準備

VirtualBoxのインストール
isoファイルのダウンロード
今回使用するisoはCentOsのMinimalを使用しています。

仮想環境の作成

VirtualMachineを作成

  • タイプ: Linux
  • Version: RedHat(64bit)

それ以外の部分はOkOkOKで大丈夫です。

VirtualMachineの設定

  • Network: ブリッジアダプター

起動

マウスで操作できなければ、気合でTabを駆使して頑張ってください。
1. ディスクの選択: CentOS-7-x86_64-Minimal-1810.iso
2. INSTALLATION DESTINATION を選択して、Done で戻ると BeginInstallation が選択できる。
3. root password を設定する。
4. しばらくまつ。
5. Reboot ボタンが押せるようになると思うので、それで再起動しましょう

Linuxの設定

root ユーザでloginしてください。

Network接続

nmtuiを起動します。

nmtui
  1. Edit a connection
  2. enp0s3(一個しかないはず) > Edit
  3. Automatically connect をTrueにする(SpaceでOn/Off切り替えができる)
  4. 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
/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.htmlHello 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

インストールができたら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
  1. パスワードを聞かれるのでゲットした初期パスワードを入力しましょう。
  2. 新しいパスワードを設定してください。
  3. それ以外はすべてEnterを押していけばOKです。

パスワード認証方式の変更

Mysql8のパスワード認証方式にPHPが対応していないので対応している認証方式に変更します。

/etc/my.cnf
[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を作ろかと思います。
ではその時に会いましょう。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away