Windows10にVagrantとVirtualBoxでCentOSの仮想環境を構築③失敗記録!Apacheインストール
①ファイアウォールの設定
https://www.rem-system.com/linux-first-setting/#4_firewalldiptables
firewalldの稼働状況確認
firewalld-cmd --state
firewalldの有効化
sudo systemctl enable firewalld
firewalldの起動
sudo systemctl start firewalld
[vagrant@localhost ~]$ firewall-cmd --state
Authorization failed.
Make sure polkit agent is running or run the application as superuser.
firewall-cmd --get-default-zone
public →ok
$ sudo firewall-cmd --new-zone=manage --permanent
success →ok
$ sudo firewall-cmd --zone=manage --set-target=ACCEPT --permanent
success →ok
$ sudo firewall-cmd --zone=manage --add-service=ssh --permanent
success →ok
※サイトにあるftpは追加しなかった。
!!問題発生!!
7-2-3. 接続元のIPアドレス追加
項目7-2-2. で登録したサービスに対して接続できる、接続元IPアドレスを追加します。IPアドレスの追加は”--add-source”オプションで指定します。
→接続元のIPアドレスを何にすべきかが分からない!!
Vafrantfileでとりあえずホストしかアクセスできないようにはなってたよね?
新しいゾーン追加したの無駄だけど、とりあえず登録するのやめとく!
publicのssh削除だけして、入れなくなっちゃったら全部削除することに。
$ sudo firewall-cmd --reload
success
$ sudo firewall-cmd --remove-service=ssh --zone=public --permanent
success
$ sudo firewall-cmd --reload
success
$ sudo firewall-cmd --list-all
servicesから”ssh”が消えていればOK
<関係ないけど>
windows powershellでipconfigと叩くと自分のIPアドレスを知ることができる。
②Apacheのインストール
https://www.rem-system.com/centos-httpd-inst/
$ sudo useradd -s /sbin/nologin www
wwwというユーザを作成
$ sudo passwd www
パスワードを設定
確認
$ cat /etc/passwd | grep www
$ id www
インストール予定の内容の確認
Apacheインストール
yum install httpd httpd-tools httpd-devel httpd-manual
インストールできたかどうか確認
$ yum list installed | grep httpd
インストール先の確認
which httpd
/usr/sbin/httpd
sudo systemctl start httpd
httpdの起動確認
sudo systemctl status httpd
起動状況を表示
サーバーの再起動や停止の復旧時に、httpdが自動的に起動するように設定
sudo systemctl enable httpd
設定できたかの確認
sudo systemctl is-enabled httpd
$ sudo firewall-cmd --add-service=http --permanent
このコマンドはデフォルトのゾーンであるpublicにhttpのサービスを追加します。publicゾーンはインターフェイスに対して割り当てられていますので、この場合はどのIPアドレスからもhttpへ接続可能になります。
$ sudo firewall-cmd --reload
$ sudo firewall-cmd --list-all
表示された結果の「services」項目に「http」が追加されていれば、設定の確認は完了
・Vagrantfileに記載したIPアドレスにブラウザからアクセス
①cd /etc/httpd/conf
②cp -p httpd.conf httpd.conf.org バックアップとしてコピー
③httpd/confファイルの書き換え
sudo vi httpd.conf
(1)動作ユーザー・グループの変更
↓
User www
Group www
(2)サーバー管理者のメールアドレス変更
ServerAdmin root@localhost
→自分のメールアドレスへ変更
(3)サーバーのホスト名変更 →良く分からないからやらない
(4)ドキュメントルートの変更
DocumentRoot "/var/www/html"
↓
DocumentRoot "/home/www/html"
(5)ディレクトリの変更
<Directory "/var/www">
AllowOverride None
# Allow open access:
Require all granted
↓
<Directory "/home/www">
(6)ディレクトリ・オプションの変更2
<Directory "/var/www/html">
Options Indexes FollowSymLinks
↓
<Directory "/home/www/html">
Options FollowSymLinks
↓
保存
ログアウトして、続きをやろうとログイン試みたらvagrant sshログインできず!!
vagrant up 自体時間がかかった。
・tera termをインストール。
https://eng-entrance.com/teraterm-install
https://ja.osdn.net/projects/ttssh2/downloads/72009/teraterm-4.105.exe/
vagrant up
default: SSH auth method: private key
Timed out while waiting for the machine to boot. This means that...
毎回ここで止まる!
・Tera termでSSHログインを試みる
→ホストに接続できません(だっけ?)
・もう一回vagrant up
→行けた感じ?
・vagrant status
running
ssh_exchange_identification: read: Connection reset
・もう一回teratermで試みる。
vagrant ssh-configでみた情報をteratermに入れる
・teratermが突然消えるので、対策。
・teratermで接続するも、認証画面が出ない。
→もうあきらめ。壊すことに。
vagrant起動時に生成されるSSH秘密鍵と、OS上の公開鍵がマッチしてないのが原因らしい。公開鍵を生成して、OS上にセットしなおす必要あり?
https://qiita.com/Esfahan/items/e5f707dc6d116c2cc751
①秘密鍵の場所を特定する
②秘密鍵から公開鍵を作成する
③作成した公開鍵を
⑨Apacheのインストールの準備のため、Vagrantfileを書き換え
ゲストOSとホストOSの共有ファイル置き場を設定する。
config.vm.synced_folder "src", "/var/www/html"
※コメントアウトを消して、上記に書き換え。
Apacheのドキュメントルートは、/var/www/html になるらしい
https://qiita.com/Hiroyuki-Hiroyuki/items/106b30fd053abf8bdd33#desktopmyvagrantmycentossrc
https://www.rem-system.com/centos-httpd-inst/
じゃなくて、シンボリックリンクを貼ればいい。