0
0

More than 1 year has passed since last update.

【入門】LinuxサーバーにApacheとMySQLをインストールしながら学ぶLinuxコマンド_環境構築

Last updated at Posted at 2022-09-24

はじめに

エンジニア1年目の学習すべき内容の代表例として、Linuxコマンドの学習が挙げられると思います。

ただ、Linux基礎に関する書籍は、VirtualBoxでコマンドをポチポチ打って学習するものが多いと思います。そのため、本記事ではLinuxサーバーを使いながら、ハンズオン形式で、Linuxコマンドを学習したいと思います。

また、今回は【入門】シェルスクリプトでバッチ処理を実装するの環境構築も行なっていきます。

作るもの(環境構築するもの)

  • Linuxインストールと設定
  • Apacheインストールと設定
  • MySQLインストールと設定

本記事で登場するLinuxコマンド一覧

コマンド コマンド説明 オプション・サブコマンド
yum yumコマンドはCentOS等のRedHat系のLinuxディストリビューションで使用されるRPMパッケージを管理するコマンド -y: 問い合わせに対して「Yes」を返す
vim vimエディターで、ファイルを編集する際に使用される ---
ssh サーバーとリモートで通信する場合に使用されるコマンド -p:ポート番号を指定する
su (スーパー)ユーザーに変更する。 ---
sudo スーパーユーザーもしくは別のユーザーとしてコマンドを実行する際に使用される。 ---
systemctl サービスを管理するコマンド start: サービスを開始する。
enable:システム起動時に、サービスを自動的に開始する。
restart: サービスを再起動する
semanege SElinuxの管理で使用するコマンド ---
grep 文字列を検索する ---
cp ファイル・ディレクトリをコピーする ---
mkdir ディレクトリを作成する ---
pwd 現在作業しているディレクトリを表示する ---
ls ファイル・ディレクトリを一覧で表示する ---

Linuxインストールと設定

仮想サーバー(Virtual Private Server)を契約し、LinuxのCent0S8をインストールする

さくらVPSを契約します。CentOS8のサポートが2021年末に終了するので、CentOS Stream8をインストールしました。

スクリーンショット 2022-01-25 23.32.07.png

Linuxの初期設定をする。

サーバーのファイルを編集するために、エディターをインストールします。vim, nano, Emacs等のエディターがありますが、今回は一般的に使用されるvimをインストールします。

CentOS等のRed Hat系のLinuxディストリビューションソフトウェアだと、yumコマンドを使用します。オプションに -y を入れると「すべての問い合わせにyes」と回答します。

// suコマンド : rootユーザーになる
$ su -

// yumコマンド:RPMパッケージを管理するコマンド
# yum -y install vim

インストールしたvimを使用して、SSHサーバーの設定ファイルを編集します。

// cdコマンド:カレントディレクトリの位置を変更する。
# cd /etc/ssh

// sshd_configファイルのバックアップをとる。
// cpコマンド:ファイルをコピーする。
# cp sshd_config sshd_config.old 

// lsコマンド:ファイルを一覧表示する。
# ls
sshd_config sshd_config.old


// vimコマンド:ファイルを開く 
# vim /etc/ssh/sshd_config

/etc/ssh/sshd_configファイルを以下のように変更しました。

変更箇所 変更前 変更後
17行目 #Port 22 Port 10022
43行目 #PermitRootLogin yes PermitRootLogin no

続いてSELinuxの設定をします。SELinuxは、Linuxのセキュリティをより強固にするモジュールです。先程、変更したSSHポート番号をSELinuxでも許可されるように設定します。

// SeLinuxパッケージをインストール
# yum -y install policycoreutils-python-utils

// semanegeコマンド:SElinuxの管理で使用するコマンド
// SELinuxで10022番ポートを許可する
# semanage port -a -t ssh_port_t -p tcp 10022

// 10022番ポートを許可されているかを確認する。
// grepコマンド:ファイル中の文字列を検索する
# semanage port -l | grep ssh
ssh_port_t                     tcp      10022, 22

ファイアーウォールの設定も変更し、10022番ポートからのアクセスを通過させるようにします。

// ファイアウォールの設定ファイルをコピーする。
# cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/

// 設定ファイルのバックアップをとる
# cp /etc/firewalld/services/ssh.xml /etc/firewalld/services/ssh_bk.xml

// 設定ファイルを編集する。
# vim /etc/firewalld/services/ssh.xml
変更箇所 変更前 変更後
5行目  port="22"  port="10022" 

ファイヤウォールの設定を反映する。

# firewall-cmd --reload
# systemctl restart sshd

SSHコマンドで、サーバーとリモートで通信を行う

// sshコマンド: 
$ ssh -p 10022 centuser@xxx.xxx.xx.xx

作業用のディレクトリを作成します。
ユーザーのホームディレクトリ(/home/user)の配下に、作業用ディレクトリを新規作成する。

// 現在、自分がいる作業ディレクトリを確認する。
$ pwd
/home/user

// 作業用ディレクトリ(work01)を新規作成する。
$ mkdir work01

// ディレクトリにあるファイル・ディレクトリを確認する
$ ls
work01 

Apacheインストールと設定

Apacheのパッケージ名のhttpdをインストールし、起動する。
Webで公開するファイルが置かれたディレクトリをドキュメントルートと呼びます。
ドキュメントルートにHTMLファイルを格納すると、Web(外部)から閲覧することができます。

// sudoコマンド : スーパーユーザーもしくは別のユーザーとしてコマンドを実行する
// httpdをインストールする
$ sudo yum -y install httpd

// httpdを起動する
$ sudo systemctl start httpd.service

// 自動的に起動するように設定する
$ sudo systemctl enable httpd.service

// HTMLを作成し、
$ sudo vim /var/www/html/helloworld.html

<html>
<head>
<title>Hello world</title>
</head>
<body>
<p>Hello world ! This is a test page</p>
</body>
</html>

http:/IPアドレス/helloworld.htmlにアクセスすると、Webページが確認できました。
スクリーンショット 2022-01-26 0.02.15.png

MySQLインストールと設定

Webサービスにとって必要な不可欠なデータベースをインストールし、起動します。

sudo yum -y install mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld

MySQLのインストールは終了です。

Linux, Apache、MySQLの環境構築が完了しました。
【入門】シェルスクリプトでバッチ処理を実装するに続きます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0