webサーバとしてApacheをインストールした後にすべき設定です。
環境
mac
centOS7 (centOS6以前だとコマンドが一部異なります。以下参照)
https://www.server-memo.net/centos-settings/centos7/systemctl-enable.html
CentOS 6 以前の場合、apache(httpd)等のサービスを自動起動させる、させないといった設定は「chkconfig」コマンドを使用していたと思いますが、CentOS 7ではサービスの管理は一部のサービスを除き「systemd」で行うといった仕様に変更となっています。
従来の「chkconfig サービス名 on | off 」のコマンドも使用できますが、「systemctl」コマンドに転送されています。
#目次
・自動起動にする
・DocumentRoot以下の作業ユーザ作成
インストール
sudo yum install httpd
自動起動にする
現在のApacheのステータスを確認
systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
Docs: man:httpd(8)
man:apachectl(8)
Active: inactive (dead)
になっているのでインストールした時点では起動していない。
起動する
systemctl start httpd.service
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2020-11-05 08:32:56 UTC; 9s ago
Docs: man:httpd(8)
man:apachectl(8)
Active: active (running)
になっていれば起動できている。
自動起動設定にする
以下実行
systemctl enable httpd.service
確認
systemctl list-unit-files -t service | grep httpd
httpd.service enabled
enabled
になっていれば変更完了。
※ grepのキーワード指定を書かない場合はservice
に関する設定がずらっと表示される。
DocumentRoot以下の作業ユーザ作成
- Apacheを導入当初は、DocumentRootに
\var\www\html
が設定されている。 -
- Apacheを導入当初は、rootユーザでしかアクセスできない。
- 通常であれば\var\www\html以下にhtml,css,phpなどのwebサイトのデータを入れる。
- コーダやプログラマが\var\www\htmlよりも上の階層のファイルの設定をいじれるのは運用上よろしくないので、それらの作業者向けに
\var\www\html以下しかいじれないユーザを作る
必要がある。
ユーザ作成
webadminというユーザを作成します。
useradd -d /var/www/html -u 400 -M webadmin
-d /var/www/html
は、/var/www/htmlをホームディレクトリにするという意味。-u 400
は、uidの指定。このディレクトリ は既に存在しているので-M
をつけることで新たにディレクトリを作成しないようにしてます。
パスワード設定します。
passwed webadmin
Changing password for user webadmin.
New password:(xxxx)
Retype new password:(xxxx)
passwd: all authentication tokens updated successfully.
パーミッションとユーザ変更
現在の\var\www\html(DocumentRoot)のパーミッションとユーザを確認
ls -ld /var/www/html
drwxr-xr-x. 2 root root 6 Apr 2 2020 /var/www/html
webadminに変更
chown webadmin:webadmin /var/www/html
確認
ls -ld /var/www/html
drwxr-xr-x. 2 webadmin webadmin 6 Apr 2 2020 /var/www/html
これで作業者がwebサーバにwebadminユーザで接続した場合、/var/www/html以下で作業できるようになる。