目次
- Apacheの構築
- opensslでhttps化
- Postfixの構築 (途中)
- Dovecotの構築 (途中)
- Bindの構築 (途中)
- Tomcatの構築 (途中)
- Struts2の構築 (途中)
- WordPressの構築 (途中)
- PostgreSQLの構築
- Oracle WebLogicの構築 (途中)
- Squidの構築 (途中)
- syslogの構築 (途中)
前提
-
OSはCentOS 7 以降を想定
-
構築環境はVMware Workstaion ProでのVM環境
-
外部に公開とかするわけではないので,本当にざっと構築するだけ
-
ローカル環境なので,すべてrootユーザで実行※
※本番環境では推奨しません.あくまでもこれは,私の実行環境の話です.
背景
本記事を投稿しようと思ったきっかけは2つあります.
- いつもQiitaはじめ,インターネットの方々にお世話になっているので,自分のような人が助かるような記事を投稿したい,という気持ち
- 技術者として,そして忘れん坊な自分のために実際に構築した時の記録を残しておきたい
以上のようなモチベーションから始めました.少しずつサーバのほうを完成させ,本記事も完成させます.
※一気に完成させようとすると,いつ公開できるかわからないので,作成途中ながら少しずつ更新していきます※
内容は今後も更新予定です.
はじめに
おまじないを実行します.
# yum -y update
# yum -y upgrade
Apacheの構築
初めに,Apacheをインストールします.
# yum -y install httpd
次に,Apacheを起動します.
# systemctl start httpd
起動しているかどうかステータスを確認します.
# systemctl status httpd
次のようにactive (running)と表示されれば,起動しています.
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since 水 2019-06-19 06:31:47 JST; 17min ago
そして,ApacheをOSの電源を入れたら自動的に起動するように設定します.
# systemctl enable httpd
最後に,fiewallの設定をしてアクセスできるようにします.
# firewall-cmd --parmanent --add-service=http
以上で,Apacheの構築は完了です.
Webブラウザで"http://[VMのIPアドレス]"と入力し,以下のようなページが表示されれば,ちゃんとアクセスできています.

opensslでhttpsにする
httpsにするために必要な,mod_sslをインストールします.
# yum -y install mod_ssl
次に,opensslを使ってTLS通信に必要な秘密鍵とサーバ証明書,その元となる証明書署名要求を作成します.今回は構築を目指すため,いわゆるオレオレ証明書を作成します.
まずは,秘密鍵を作成します.
# openssl genrsa 2048 > server.key
次に,証明書署名要求を作成します.
# openssl req -new -key server.key > server.csr
最後に,サーバ証明書を作成します.
# openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt
これで,必要なものが用意できました.
次に,作成したファイルの設置場所を作成します.
server.crtは,/etc/httpd/conf/ssl.crtに,server.keyは/etc/httpd/conf/ssl.keyディレクトリにそれぞれ設置します.
# mkdir /etc/httpd/conf/ssl.crt
# mkdir /etc/httpd/conf/ssl.key
次は,設定ファイルに秘密鍵とサーバ証明書の場所を記述します.以下のコマンドで,設定ファイルを編集してください.
# vim /etc/httpd/conf.d/ssl.conf
設定ファイルを以下のように編集します.
コマンドモードで / を入力した後に所定の文字列を入力すると検索できます.
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
そして,ファイルを設定ファイルに記載した場所に移動します.
server.csrは不要なので,削除しても構いません.
# mv server.crt /etc/httpd/conf/ssl.crt/
# mv server.key /etc/httpd/conf/ssl.key/
次に,firewallで443ポートへのアクセスを許可しておきます.
# firewall-cmd --parmanent --add-service=https
# firewall-cmd --reload
最後に,Apacheを再起動します.
# systemctl restart httpd
Webブラウザで,"https://[VMのIPアドレス]"でアクセスして,ページが表示されればhttpsの構築は完了です.オレオレ証明書なので,httpsでも"Not secure"とGoogle Chrome上で表示されます.
※IPアドレスはマスクしてあります.

Postfixの構築
# yum -y install postfix
# firewall-cmd --parmanent --add-service=smtp
# firewall-cmd --reload
/etc/postfix/main.cf ファイルの内容
私の環境で動作した際のファイルの設定は以下の通りです.
"#★add a configuration★" と記述されている次の行の設定をデフォルトから変更しています.
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
# ★add a configuration★
myhostname = [your mail server host name]
# ★add a configuration★
mydomain = [your domain name]
myorigin = $mydomain
inet_interfaces = all
inet_protocols = all
# ★add a configuration★
mydestination = [your mail server host name], $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
# ★add a configuration★
mynetworks = 127.0.0.0/8, [your IP Address]
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
# ★add a configuration★
home_mailbox = Maildir/
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.10.1/samples
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
Dovecotの構築
# yum -y install dovecot
Bindの構築
# yum -y install bind
Tomcatの構築
Struts2の構築
WordPressの構築
PostgreSQLの構築
まず初めに,PostgreSQLをインストールします.
# yum -y install postgresql-server
次に,データベースを初期化します.
# postgresql-setup initdb
サービスを起動します.
# systemctl start postgresql
サービスが起動されたかを確認します.
# systemctl status postgresql
firewallのポートを開放します.
# firewall-cmd --add-service=postgresql --zone=public --permanent
# firewall-cmd --reload
postgres ユーザーに変更します.
※postgres ユーザーは,PostgreSQLをインストールした際に作成されます.
# su - postgres
データベースにアクセスします.
# psql
お遊び用のテーブルを作成します.
postgres=# \i members.sql
作成したテーブルの中身を確認します.
postgres=# select * from members;
id | name | height | gender
-----+---------+--------+--------
101 | Algo | 170 | M
102 | Bianchi | 170 | F
103 | Ceaser | 163 | M
104 | Dangon | 175 | M
105 | Elen | 168 | M
106 | Flan | 158 | F
107 | Gangan | 165 | M
108 | Han | 150 | F
109 | Ian | 143 | F
110 | Jan | 175 | M
111 | Kit | 155 | F
112 | Lolen | 165 | M
113 | Moon | 150 | F
114 | Nue | 168 | M
115 | Ox | 150 | M
116 | Peatan | 155 | M
117 | Quantum | 170 | M
118 | Rex | 190 | M
119 | Satarn | 190 | M
120 | Tat | 195 | M
121 | Ute | 152 | M
122 | Violete | 152 | F
123 | Wat | 155 | M
124 | Xeon | 165 | M
125 | Yean | 151 | F
126 | Zett | 170 | M
(26 行)
作成したテーブルのソースファイル
作成したテーブルのソースファイルの内容は下記の通りです.
create table members (
id integer primary key
, name text not null
, height integer not null
, gender char(1) not null
);
insert into members(id, name, height, gender)
values (101, 'Algo', 170, 'M')
, (102, 'Bianchi', 170, 'F')
, (103, 'Ceaser' , 163, 'M')
, (104, 'Dangon', 175, 'M')
, (105, 'Elen', 168, 'M')
, (106, 'Flan', 158, 'F')
, (107, 'Gangan', 165, 'M')
, (108, 'Han', 150, 'F')
, (109, 'Ian', 143, 'F')
, (110, 'Jan', 175, 'M')
, (111, 'Kit', 155, 'F')
, (112, 'Lolen', 165, 'M')
, (113, 'Moon', 150, 'F')
, (114, 'Nue', 168, 'M')
, (115, 'Ox', 150, 'M')
, (116, 'Peatan', 155, 'M')
, (117, 'Quantum', 170, 'M')
, (118, 'Rex', 190, 'M')
, (119, 'Satarn', 190, 'M')
, (120, 'Tat', 195, 'M')
, (121, 'Ute', 152, 'M')
, (122, 'Violete', 152, 'F')
, (123, 'Wat', 155, 'M')
, (124, 'Xeon', 165, 'M')
, (125, 'Yean', 151, 'F')
, (126, 'Zett', 170, 'M')
;
SQLコマンドを使ったデータベース操作等は,別の記事にて投稿予定です.
Oracle WebLogicの構築
Squidの構築
# yum -y install squid
syslogの構築
参考文献
- ろば電子が詰まつてゐる オレオレ証明書をopensslで作る(詳細版)
https://ozuma.hatenablog.jp/entry/20130511/1368284304 - わかりみSQL カウプラン機関極東支部 技術書典7 (2019秋)