CentOS7でローカルサーバーを立ててみた話

ふと　ローカルでサーバー立ててみたくなって作業してみたが
説明しているページだけだと出来なかったので自分が成功した方法をまとめました。
とりあえず予備知識ほぼ0で導入したい場合の参考にでもしてやってください。

~~Linuxとかのそういう解説サイトって特定のコマンドは知ってて当然
他の対応ですでに入れてて必要ないと思われているのか書いてないコマンドがあったりするのでちょっと大変ですね。~~

##準備
Oracle VM VirtualBox
https://www.oracle.com/technetwork/jp/server-storage/virtualbox/downloads/index.html
バージョンはちょうどPCに入ってた5.2.12を使用


CentOS7
http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso
Minimalではネットワーク設定がちょっと大変らしいのでDVDISOを使います。

PuTTY
https://www.putty.org/
SSH接続するので一応入れておいてください。

##CentOS7のインストール
![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/79ca3f0d-52b9-726e-e244-db429ebfb1d3.png)
新規作成

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/41916718-7c99-0467-f7f7-8ace74ce0006.png)
適当に名前つけて
Linux、RedHat(64bit)を選択し残りは初期設定で用意します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/2292136c-53c9-9f36-1105-5acdad76841a.png)
起動すると起動ディスクの設定が表示されるので落としておいたISOファイルを選択。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/94954c74-4694-4d93-a823-408b86bd602d.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/242735e4-b9de-10cd-acbc-94c597695739.png)
ブートメニューが立ち上がるのでエンターを押してしばらく待ちます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/9508255f-573f-546e-bad9-b97d3b8b6fd6.png)
セットアップメニューが立ち上がるので
適当に言語設定を行い次へ。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/44f5444c-a1d5-fadb-32ab-280e6518da64.png)
インストール先を選択して完了を押す。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/747729ac-806f-72ba-a730-6901ca0b804a.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/46a10eec-7533-df20-d89b-1035c445827f.png)
ネットワークとホスト名を選択しオフになっていると思うのでこれをオンに変更。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/67492593-9825-d0a4-17d2-7d9ccb96fb0e.png)
ROOTパスワードとユーザーは自分が覚えやすいものを入れておきましょう。

とりあえずインストールはこれで終わり

##SSH接続設定を行う
![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/2bce4c67-0839-6868-d1ae-d59e5b571dba.png)
設定→ネットワーク→アダプター2を有効にしてホストオンリーアダプターを選択します。
詳細を押してアダプタータイプが準仮想化ネットワークになっていなければ指定してあげます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/a0f03827-c335-7d8f-72bf-cdf342d9d722.png)
起動してルートユーザーで入ります。

```
yum update 
```
上記コマンドで更新かけます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/1be639c2-533a-fa14-ebf1-1ac322afe091.png)

```
# systemctl start sshd.service
```
自動で起動しているはずですが念の為上記コマンドでSSHサービスを起動します。

```
# ip a
```
でIPAddressを確認します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/7874751a-1b96-d4c9-9392-5696972bc7b8.png)
192.168.XX.XXXを控えておきましょう。

解説サイトによってはifconfigだったりするのはバージョンの違いかな？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/ef6492d5-881b-915f-5c3d-2e5aa730eedd.png)
動かなかった


![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/240353b2-1021-1e44-6bb4-0904f9ec016e.png)
PuTTYでそれを登録します
ポートはデフォルトでは22になっています。
一応これも変更可能らしいですがそのままで良いでしょう。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/d2365b33-8427-6506-8851-1fb0e5605100.png)
成功。

##Webサーバーとして扱う
Webサーバーとして使うにはApacheが楽のようなのでこれを導入します。
https://www.kagoya.jp/howto/rentalserver/apache/
あとでしっかり読んどこう

```
# yum -y install httpd
```

と入れて待機。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/3aa9fd16-5649-b1ae-64fc-05e90cacd526.png)


```
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
```
ファイアウォールの設定にhttpを追加。

```
# firewall-cmd --list-all
```
設定を確認。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/efd2ed2b-43eb-0722-347c-0d2e0e54f204.png)
追加されました
これでポートが開いた・・・　はず。


```
# systemctl start httpd.service
```
httpdのサービスを起動します。


```
# systemctl status httpd
```
ステータスを確認。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/97584c95-ca9f-e5f4-72e2-0fe2143df3dd.png)
成功。

実は毎回起動しないと行けないので自動化しておきます。

```
# systemctl enable httpd
# systemctl list-unit-files | grep httpd
```
![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/01f7a7ef-b457-0553-d1fb-5a96d0081c25.png)
完了。

ここまで来たらブラウザでhttp://【IPAddress】と入力して接続
![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/41a02de7-6f45-7d2d-1687-a66e0cbd04f1.png)
成功。

/var/www/htmlにあるファイルにアクセスできるらしいので

```
# cd /var/www/html/
```
で移動し

http://php.net/manual/ja/tutorial.firstpage.php
のサンプルを入れてみます。

```
# vi test.php
```
でファイル作成
[vi コマンドについてはこちら](https://prev.net-newbie.com/linux/commands/vi.html)
これわからないと結構大変な目に会う。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/e84a7cf5-1992-9b6c-0359-ab9df392ac24.png)
入力して保存。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/93ea229d-f5be-2dab-660c-f84ffef7abcf.png)
IP/ファイル名でアクセス。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/572a384e-ba4d-3e74-0928-dff8ff80536b.png)
成功。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/73faa4d0-f5f3-562d-5cb1-bb4c81c7c3d6.png)
・・・？
まぁいいや

##共有フォルダの設定
ファイルの追加とかがこのままだと大変なので作業フォルダを共有フォルダとして設定します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/1628963f-e877-06d0-3c3a-b5b6dacbc1e7.png)
設定→共有フォルダのこのちっこいマークを選ぶ

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/9cbbf7f3-0f10-472a-39b7-22cfbf618467.png)
作業フォルダ指定して自動マウントにチェックを入れて完了。

これだけじゃ共有出来ないのでVM側でGuest Additionsをインストールします。

まずは必要なものから。

```
# yum -y install epel-release
# yum -y groupinstall "Development Tools"
# yum -y install dkms bzip2 gcc make kernel-devel kernel-headers
# yum -y install kernel-devel 
```
上記すべてを入力。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/42717666-485f-0c8b-b7a9-9c3023eac19c.png)
ディスクイメージの挿入


```
# mkdir -p /mnt/cdrom
# mount -r /dev/cdrom /mnt/cdrom
# cd /mnt/cdrom/
```
ディスクをマウントして移動

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/49eb2d29-3611-19b5-cac5-b39bb6116437.png)
ll と入力してエンターを押すと中身見れるのでおすすめ

```
# sh VBoxLinuxAdditions.run
```
でインストールを行います。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/79ee8665-7b0c-7007-4b22-6d306a871815.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/63693a24-124f-0a1d-03de-63bd8c20ee23.png)
が出たら

```
# reboot
```
で再起動

```
# cd /media/
```
に移動して sf_【HogeHoge】フォルダがあれば成功

次にこれを
/var/www/html/にマウントします。

```
mount -t vboxsf 【共有フォルダのとこでつけた名前】 /var/www/html
```
特に何も表示サれなければ成功。

次にマウントを自動化します。

```
# echo '上に書いたやつ' >> /etc/rc.local 
# chmod +x /etc/rc.d/rc.local
# source /etc/rc.local
```

Windows側の作業フォルダ
![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/79345afd-c3dd-0006-47fc-7eda8f18f37f.png)


VM側のフォルダ
![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/967dd533-6e92-8c3a-2936-e0d3d67acab1.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/275100/0904ace9-915a-87be-3a46-aed2db1ff48f.png)


ちゃんと共有できましたね。
これで作業が捗りそう。

サーバー系も勉強したいな。

##参考
https://kohkimakimoto.hatenablog.com/entry/2012/01/19/053810
https://qiita.com/sango/items/816136188387221f05b3
https://qiita.com/uhooi/items/ab845b06b136e623e51d
https://qiita.com/sango/items/b045a1da17606eda6f82
http://pineplanter.moo.jp/non-it-salaryman/2016/10/19/virtualbox-share-folder/
http://tech-wiki.pomme-verte.net/?p=328