前提:未経験初心者事務入射なのに社内唯一のバックエンドエンジニアになってしまった
わたし「やってらんね~~~~!!!事務として入ったんですけどどうしてこうなった??」
ある日
##上司「新しいVPSサーバにLAMP入れといて…えっ、LAMP知らない?ハ~~~~~~マジで?(クソデカため息)」
上司「これ読んでインストールよろしく」
わたし「ぴえん…webなんて何も知らないよう、そもそも私は事務で入ったはず……。いやそんなこと言ってても誰も助けてくれんからね…調べるか…。」
###LAMPとは
LAMP(ランプ)とは、OSであるLinux、WebサーバであるApache HTTP Server、データベースであるMySQL、スクリプト言語であるPerl、PHP、Pythonを総称した頭文字から成る造語である。※1
わたし「上司オジはアパッチアパッチ言ってたな。これ入れればいいんですね」
#インストールしていく
##Apache httpd のインストール
# yum -y install httpd
# httpd -v
わたし「うまくいくじゃん、余裕だわ。」
##MySQL Community Server のインストール
# yum -y install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
# httpd -v
わたし「なんで…?さっき上司が渡してきた資料どおりやったけどコマンドが通らないよぅ。
これってもしかして、令和対応じゃないのかも…。」
わたし「コマンドよくわかんないけど壊してもいいって言ってたしいろんなの試してこ。当たったらラッキーや。」
# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
# rpm -Uvh mysql-community-release-el7-5.noarch.rpm
# yum -y install mysql-community-server
# mysqld --version
わたし「通った!なんでだろ。知らんけど、パッケージがyumのリポジトリに登録されていないまたはバージョンが古いためwgetによってパッケージをダウンロードして何らかのコマンドでインストールされたんかな。」2
##PHPのインストール
# yum -y install php php-mysql
# php --version
##サーバーの起動
# systemctl start httpd.service
# systemctl start mysqld.service
上司「サーバの再起動でサーバが自動的に起動するようにしておいてね。」
わたし「(ふつう再起動したら起動するんじゃないんか?再起動とは?)はい。」
####↑サーバ(=CentOS)の再起動でサーバ(=httpd・MySQL)が自動的に起動するようにしておいてね。
わたし「分かるか。」
サーバーを再起動しても起動時に自動的にサーバーが起動するように設定
# systemctl enable httpd.service
# systemctl enable mysqld.service
わたし「インストールおわりました!」
上司「遅いね。どれどれ…。」
わたし「(事務なのでね。じゃあご自分でやれ)すみません。」
上司「Apacheが起動してないんだけど?httpdはあるの?」
わたし「アパッチが起動してないんですか…?」
httpdがないとダメらしいので調べる
# yum info httpd
わたし「(は~?あるやんけ)httpdあります。」
上司「起動して。」
# systemctl start httpd.service
# systemctl status httpd.service
わたし「この後にhttp ://IPアドレスで検索すると、初期画面が表示されるんやね。OK。…あれ?真っ白やね…。」
わたし「もしかしてファイアウォールの設定がかかってるのかもしれへん。いっつもとなりの席のフロントエンドの人がワフワフ言ってるしたぶんそれや。」
一時的にファイアウォールを無効にする
# systemctl stop firewalld
わたし「『Failed to issue method call: Unit firewalld.service not loaded.』…?じゃあこれはどや。」
firewalld に httpd (80番ポート)への通信を許可
# firewall-cmd --add-service=http --zone=public --permanent
# firewall-cmd --reload
わたし「『-bash: firewall-cmd: command not found』…。詰んだ…。」
上司「まだ?」
わたし「自分でやってくださ~~い!(まだです。)」
##コマンド実行ファイルがないっぽいので、インストールする
わたし「sudoも効かないし、なんか色々なんも入ってないんやな。FW入れればいいんしょ。」
わたし「iptablesとfirewalldは共存できない…だと…。」3
わたし「デフォルトがFWならFWでいいか…?iptablesのメリット調べるか。」
わたし「FWでよくない?」
##firewalldをインストールする
IPTABLES停止
# systemctl stop iptables
# systemctl disable iptables
# systemctl is-enabled iptables
firewalldインストール
# yum -y install firewalld
# systemctl start firewalld
# systemctl enable firewalld
# systemctl is-enabled firewalld
→enabledと出力される
# firewall-cmd --list-all #設定確認
##再度firewallにhttpdの通信許可に挑戦
# firewall-cmd --permanent --add-service=http
# firewall-cmd --reload
わたし「できた~~~~!!!!!!!!!!!!!!!!!!!」
わたし「上司~~!できたよ~~!」
上司「遅かったな。じゃあこれからそのVPSサーバの構成について説明していくで。」
わたし「ぴえん…。」
#まとめ(ここだけ読めばいい)
Apacheインストール
# yum -y install httpd
# httpd -v
MySQLインストール
# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
# rpm -Uvh mysql-community-release-el7-5.noarch.rpm
# yum -y install mysql-community-server
# mysqld --version
PHPインストール
# yum -y install php php-mysql
# php --version
サーバーの起動
# systemctl start httpd.service
# systemctl start mysqld.service
サーバーを再起動しても起動時に自動的にサーバーが起動するように設定
# systemctl enable httpd.service
# systemctl enable mysqld.service
IPTABLES停止
# systemctl stop iptables
# systemctl disable iptables
# systemctl is-enabled iptables
firewalldインストール
# yum -y install firewalld
# systemctl start firewalld
# systemctl enable firewalld
# systemctl is-enabled firewalld
→enabledと出力される
# firewall-cmd --list-all #設定確認
Firewallにhttpdの通信許可
# firewall-cmd --permanent --add-service=http
# firewall-cmd --reload
以上
次はphpmyadminのインストール
ゲーーーーーーーーーー吐きそう!!!!!!!!!