- いろんなサイトを見ても途中経過が記載してなく不安になる人
- 手順通りしたが動かない人
- 古いバージョンやんかと思う人
提供されているApache httpdを確認する
まずは dnfリポジトリで提供されている Apache httpdの詳細について確認します。
dnf info httpd と入力して Enter をクリックしてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [root@localhost ~] # dnf info httpd メタデータの期限切れの最終確認: 1:57:35 時間前の 2021年10月13日 02時30分19秒 に実施しました。 利用可能なパッケージ 名前 : httpd バージョン : 2.4.37 リリース : 39.module_el8.4.0+2582+54659116.1.alma Arch : x86_64 サイズ : 1.4 M ソース : httpd-2.4.37-39.module_el8.4.0+2582+54659116.1.alma.src.rpm リポジトリー : appstream 概要 : Apache HTTP Server URL : https: //httpd .apache.org/ ライセンス : ASL 2.0 説明 : The Apache HTTP Server is a powerful, efficient, and extensible : web server. [root@localhost ~] # |
Apache httpdをインストールする
Apache httpd 2.4 が提供されていることを確認できたので、さっそくインストールしましょう。
dnf -y install httpd と入力して Enter をクリックしてください。
「完了しました!」と表示されればインストールは完了です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | [root@localhost ~] # dnf -y install httpd メタデータの期限切れの最終確認: 1:59:48 時間前の 2021年10月13日 02時30分19秒 に実施しました。 依存関係が解決しました。 ============================================================================================================== パッケージ Arch バージョン リポジトリー サイズ ============================================================================================================== インストール: httpd x86_64 2.4.37-39.module_el8.4.0+2582+54659116.1.alma appstream 1.4 M 依存関係のインストール: almalinux-logos-httpd noarch 84.4-1.1.el8 baseos 29 k apr x86_64 1.6.3-11.el8 appstream 124 k apr-util x86_64 1.6.1-6.el8 appstream 105 k httpd-filesystem noarch 2.4.37-39.module_el8.4.0+2582+54659116.1.alma appstream 38 k httpd-tools x86_64 2.4.37-39.module_el8.4.0+2582+54659116.1.alma appstream 105 k mailcap noarch 2.1.48-3.el8 baseos 39 k mod_http2 x86_64 1.15.7-3.module_el8.4.0+2582+54659116 appstream 153 k 弱い依存関係のインストール: apr-util-bdb x86_64 1.6.1-6.el8 appstream 24 k apr-util-openssl x86_64 1.6.1-6.el8 appstream 27 k モジュールストリームの有効化中: httpd 2.4 トランザクションの概要 ============================================================================================================== インストール 10 パッケージ ダウンロードサイズの合計: 2.0 M インストール後のサイズ: 5.4 M パッケージのダウンロード: (1 /10 ): mailcap-2.1.48-3.el8.noarch.rpm 125 kB /s | 39 kB 00:00 (2 /10 ): almalinux-logos-httpd-84.4-1.1.el8.noarch.rpm 92 kB /s | 29 kB 00:00 (3 /10 ): apr-util-1.6.1-6.el8.x86_64.rpm 1.3 MB /s | 105 kB 00:00 (4 /10 ): apr-util-bdb-1.6.1-6.el8.x86_64.rpm 198 kB /s | 24 kB 00:00 (5 /10 ): apr-util-openssl-1.6.1-6.el8.x86_64.rpm 560 kB /s | 27 kB 00:00 (6 /10 ): httpd-filesystem-2.4.37-39.module_el8.4.0+2582+54659116.1.alma.noarch 673 kB /s | 38 kB 00:00 (7 /10 ): httpd-2.4.37-39.module_el8.4.0+2582+54659116.1.alma.x86_64.rpm 7.3 MB /s | 1.4 MB 00:00 (8 /10 ): httpd-tools-2.4.37-39.module_el8.4.0+2582+54659116.1.alma.x86_64.rpm 612 kB /s | 105 kB 00:00 (9 /10 ): apr-1.6.3-11.el8.x86_64.rpm 27 kB /s | 124 kB 00:04 (10 /10 ): mod_http2-1.15.7-3.module_el8.4.0+2582+54659116.x86_64.rpm 38 kB /s | 153 kB 00:04 -------------------------------------------------------------------------------------------------------------- 合計 312 kB /s | 2.0 MB 00:06 警告: /var/cache/dnf/baseos-a4ba83fa826b3b88/packages/almalinux-logos-httpd-84 .4-1.1.el8.noarch.rpm: ヘッダー V4 RSA /SHA256 Signature、鍵 ID c21ad6ea: NOKEY AlmaLinux 8 - BaseOS 225 kB /s | 3.4 kB 00:00 GPG 鍵 0xC21AD6EA をインポート中: Userid : "AlmaLinux <packager@almalinux.org>" Fingerprint: E53C F5EF 91CE B0AD 1812 ECB8 51D6 647E C21A D6EA From : /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux 鍵のインポートに成功しました トランザクションの確認を実行中 トランザクションの確認に成功しました。 トランザクションのテストを実行中 トランザクションのテストに成功しました。 トランザクションを実行中 準備 : 1 /1 インストール中 : apr-1.6.3-11.el8.x86_64 1 /10 scriptletの実行中: apr-1.6.3-11.el8.x86_64 1 /10 インストール中 : apr-util-bdb-1.6.1-6.el8.x86_64 2 /10 インストール中 : apr-util-openssl-1.6.1-6.el8.x86_64 3 /10 インストール中 : apr-util-1.6.1-6.el8.x86_64 4 /10 scriptletの実行中: apr-util-1.6.1-6.el8.x86_64 4 /10 インストール中 : httpd-tools-2.4.37-39.module_el8.4.0+2582+54659116.1.alma.x86_64 5 /10 scriptletの実行中: httpd-filesystem-2.4.37-39.module_el8.4.0+2582+54659116.1.alma.noarch 6 /10 インストール中 : httpd-filesystem-2.4.37-39.module_el8.4.0+2582+54659116.1.alma.noarch 6 /10 インストール中 : mailcap-2.1.48-3.el8.noarch 7 /10 インストール中 : almalinux-logos-httpd-84.4-1.1.el8.noarch 8 /10 インストール中 : mod_http2-1.15.7-3.module_el8.4.0+2582+54659116.x86_64 9 /10 インストール中 : httpd-2.4.37-39.module_el8.4.0+2582+54659116.1.alma.x86_64 10 /10 scriptletの実行中: httpd-2.4.37-39.module_el8.4.0+2582+54659116.1.alma.x86_64 10 /10 検証 : almalinux-logos-httpd-84.4-1.1.el8.noarch 1 /10 検証 : mailcap-2.1.48-3.el8.noarch 2 /10 検証 : apr-1.6.3-11.el8.x86_64 3 /10 検証 : apr-util-1.6.1-6.el8.x86_64 4 /10 検証 : apr-util-bdb-1.6.1-6.el8.x86_64 5 /10 検証 : apr-util-openssl-1.6.1-6.el8.x86_64 6 /10 検証 : httpd-2.4.37-39.module_el8.4.0+2582+54659116.1.alma.x86_64 7 /10 検証 : httpd-filesystem-2.4.37-39.module_el8.4.0+2582+54659116.1.alma.noarch 8 /10 検証 : httpd-tools-2.4.37-39.module_el8.4.0+2582+54659116.1.alma.x86_64 9 /10 検証 : mod_http2-1.15.7-3.module_el8.4.0+2582+54659116.x86_64 10 /10 インストール済み: almalinux-logos-httpd-84.4-1.1.el8.noarch apr-1.6.3-11.el8.x86_64 apr-util-1.6.1-6.el8.x86_64 apr-util-bdb-1.6.1-6.el8.x86_64 apr-util-openssl-1.6.1-6.el8.x86_64 httpd-2.4.37-39.module_el8.4.0+2582+54659116.1.alma.x86_64 httpd-filesystem-2.4.37-39.module_el8.4.0+2582+54659116.1.alma.noarch httpd-tools-2.4.37-39.module_el8.4.0+2582+54659116.1.alma.x86_64 mailcap-2.1.48-3.el8.noarch mod_http2-1.15.7-3.module_el8.4.0+2582+54659116.x86_64 完了しました! [root@localhost ~] # |
インストールされたかの確認
確認方法は、色々ありますので2通り紹介します。
dnf list installed | grep httpd と入力して Enter をクリックしてください。
1 2 3 4 5 6 | [root@localhost ~] # dnf list installed | grep httpd almalinux-logos-httpd.noarch 84.4-1.1.el8 @baseos httpd.x86_64 2.4.37-39.module_el8.4.0+2582+54659116.1.alma @appstream httpd-filesystem.noarch 2.4.37-39.module_el8.4.0+2582+54659116.1.alma @appstream httpd-tools.x86_64 2.4.37-39.module_el8.4.0+2582+54659116.1.alma @appstream [root@localhost ~] # |
httpd -v | head -n 1 と入力して Enter をクリックしてください。
1 2 3 | [root@localhost ~] # httpd -v | head -n 1 Server version: Apache /2 .4.37 (AlmaLinux) [root@localhost ~] # |
自動起動の設定をする
今後、Apache httpd 2.4をインストールしたサーバを起動や再起動した際に自動的にApache httpdを起動させたいので、systemctl enable httpd と入力して Enter をクリックしてください。
1 2 3 | [root@localhost ~] # systemctl enable httpd Created symlink /etc/systemd/system/multi-user .target.wants /httpd .service → /usr/lib/systemd/system/httpd .service. [root@localhost ~] # |
手動の起動と停止とステータスの方法
Apache httpd 2.4を起動して見ましょう。
systemctl start httpd と入力して Enter をクリックしてください。
1 2 | [root@localhost ~] # systemctl start httpd [root@localhost ~] # |
起動の確認をします。systemctl status httpd と入力して Enter をクリックしてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [root@localhost ~] # systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded ( /usr/lib/systemd/system/httpd .service; enabled; vendor preset: disabled) Active: active (running) since Wed 2021-10-13 04:42:48 JST; 50s ago Docs: man :httpd.service(8) Main PID: 15205 (httpd) Status: "Running, listening on: port 80" Tasks: 213 (limit: 14606) Memory: 24.6M CGroup: /system .slice /httpd .service ├─15205 /usr/sbin/httpd -DFOREGROUND ├─15206 /usr/sbin/httpd -DFOREGROUND ├─15207 /usr/sbin/httpd -DFOREGROUND ├─15208 /usr/sbin/httpd -DFOREGROUND └─15209 /usr/sbin/httpd -DFOREGROUND 10月 13 04:42:48 localhost.localdomain systemd[1]: Starting The Apache HTTP Server... 10月 13 04:42:48 localhost.localdomain httpd[15205]: AH00558: httpd: Could not reliably determine the server's fully> 10月 13 04:42:48 localhost.localdomain systemd[1]: Started The Apache HTTP Server. 10月 13 04:42:48 localhost.localdomain httpd[15205]: Server configured, listening on: port 80 |
この画面が表示した後の解除は、「Q」のキーボード をクリックしてください。
停止したい場合は、systemctl stop httpd と入力して Enter をクリックしてください。
アクセスして確認
Apache httpdが起動していることを確認の上、ブラウザで確認して見ましょう。
http://サーバのIPアドレス 又は localhost と入力して確認します。
下記のような初期画面が表示されればOKです。

エラー時の対応方法
初期画面が表示されない サーバに接続できません。

ファイアウォールが有効になっている可能性があります。
AlmaLinux8.4ではfirewalldがディフォルトで動作するようになっています。
ファイアウォールのhttp(80番ポート)を通信許可する方法は、
firewall-cmd −−add-service=http −−zone=public −−permanent と入力して Enter をクリックしてください。
1 2 3 | [root@localhost ~] # firewall-cmd --add-service=http --zone=public --permanent success [root@localhost ~] # |
再起動をするには
firewall−cmd −−reload と入力して Enter をクリックしてください。
1 2 3 | [root@localhost ~] # firewall-cmd --reload success [root@localhost ~] # |
設定について
設定ファイルは、/etc/httpd/conf/httpd.conf このファイルです。
起動ポート、ドメイン、DocumentRootの設定ができますのでカスタマイズしてください。
設定の変更後は、systemctl restart httpd で再起動してくださいね。
実際のファイルの内容を記載してますので参考に
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 | # # This is the main Apache HTTP server configuration file. It contains the # configuration directives that give the server its instructions. # See <URL:http://httpd.apache.org/docs/2.4/> for detailed information. # In particular, see # for a discussion of each configuration directive. # # See the httpd.conf(5) man page for more information on this configuration, # and httpd.service(8) on using and configuring the httpd service. # # Do NOT simply read the instructions in here without understanding # what they do. They're here only as hints or reminders. If you are unsure # consult the online docs. You have been warned. # # Configuration and logfile names: If the filenames you specify for many # of the server's control files begin with "/" (or "drive:/" for Win32), the # server will use that explicit path. If the filenames do *not* begin # with "/", the value of ServerRoot is prepended -- so 'log/access_log' # with ServerRoot set to '/www' will be interpreted by the # server as '/www/log/access_log', where as '/log/access_log' will be # interpreted as '/log/access_log'. # # ServerRoot: The top of the directory tree under which the server's # configuration, error, and log files are kept. # # Do not add a slash at the end of the directory path. If you point # ServerRoot at a non-local disk, be sure to specify a local disk on the # Mutex directive, if file-based mutexes are used. If you wish to share the # same ServerRoot for multiple httpd daemons, you will need to change at # least PidFile. # ServerRoot "/etc/httpd" # # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, instead of the default. See also the <VirtualHost> # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 Listen 80 # # Dynamic Shared Object (DSO) Support # # To be able to use the functionality of a module which was built as a DSO you # have to place corresponding `LoadModule' lines at this location so the # directives contained in it are actually available _before_ they are used. # Statically compiled modules (those listed by `httpd -l') do not need # to be loaded here. # # Example: # LoadModule foo_module modules/mod_foo.so # Include conf.modules.d/*.conf # # If you wish httpd to run as a different user or group, you must run # httpd as root initially and it will switch. # # User/Group: The name (or #number) of the user/group to run httpd as. # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. # User apache Group apache # 'Main' server configuration # # The directives in this section set up the values used by the 'main' # server, which responds to any requests that aren't handled by a # <VirtualHost> definition. These values also provide defaults for # any <VirtualHost> containers you may define later in the file. # # All of these directives may appear inside <VirtualHost> containers, # in which case these default settings will be overridden for the # virtual host being defined. # # # ServerAdmin: Your address, where problems with the server should be # e-mailed. This address appears on some server-generated pages, such # as error documents. e.g. admin@your-domain.com # ServerAdmin root@localhost # # ServerName gives the name and port that the server uses to identify itself. # This can often be determined automatically, but we recommend you specify # it explicitly to prevent problems during startup. # # If your host doesn't have a registered DNS name, enter its IP address here. # #ServerName www.example.com:80 # # Deny access to the entirety of your server's filesystem. You must # explicitly permit access to web content directories in other # <Directory> blocks below. # <Directory /> AllowOverride none Require all denied </Directory> # # Note that from this point forward you must specifically allow # particular features to be enabled - so if something's not working as # you might expect, make sure that you have specifically enabled it # below. # # # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "/var/www/html" # # Relax access to content within /var/www. # <Directory "/var/www"> AllowOverride None # Allow open access: Require all granted </Directory> # Further relax access to the default document root: <Directory "/var/www/html"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Require all granted </Directory> # # DirectoryIndex: sets the file that Apache will serve if a directory # is requested. # <IfModule dir_module> DirectoryIndex index.html </IfModule> # # The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients. # <Files ".ht*"> Require all denied </Files> # # ErrorLog: The location of the error log file. # If you do not specify an ErrorLog directive within a <VirtualHost> # container, error messages relating to that virtual host will be # logged here. If you *do* define an error logfile for a <VirtualHost> # container, that host's errors will be logged there and not here. # ErrorLog "logs/error_log" # # LogLevel: Control the number of messages logged to the error_log. # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. # LogLevel warn <IfModule log_config_module> # # The following directives define some format nicknames for use with # a CustomLog directive (see below). # LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common <IfModule logio_module> # You need to enable mod_logio.c to use %I and %O LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule> # # The location and format of the access logfile (Common Logfile Format). # If you do not define any access logfiles within a <VirtualHost> # container, they will be logged here. Contrariwise, if you *do* # define per-<VirtualHost> access logfiles, transactions will be # logged therein and *not* in this file. # #CustomLog "logs/access_log" common # # If you prefer a logfile with access, agent, and referer information # (Combined Logfile Format) you can use the following directive. # CustomLog "logs/access_log" combined </IfModule> <IfModule alias_module> # # Redirect: Allows you to tell clients about documents that used to # exist in your server's namespace, but do not anymore. The client # will make a new request for the document at its new location. # Example: # Redirect permanent /foo http://www.example.com/bar # # Alias: Maps web paths into filesystem paths and is used to # access content that does not live under the DocumentRoot. # Example: # Alias /webpath /full/filesystem/path # # If you include a trailing / on /webpath then the server will # (Combined Logfile Format) you can use the following directive. # CustomLog "logs/access_log" combined </IfModule> <IfModule alias_module> # # Redirect: Allows you to tell clients about documents that used to # exist in your server's namespace, but do not anymore. The client # will make a new request for the document at its new location. # Example: # Redirect permanent /foo http://www.example.com/bar # # Alias: Maps web paths into filesystem paths and is used to # access content that does not live under the DocumentRoot. # Example: # Alias /webpath /full/filesystem/path # # If you include a trailing / on /webpath then the server will # require it to be present in the URL. You will also likely # need to provide a <Directory> section to allow access to # the filesystem path. # # ScriptAlias: This controls which directories contain server scripts. # ScriptAliases are essentially the same as Aliases, except that # documents in the target directory are treated as applications and # run by the server when requested rather than as documents sent to the # client. The same rules about trailing "/" apply to ScriptAlias # directives as to Alias. # ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" </IfModule> # # "/var/www/cgi-bin" should be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. # <Directory "/var/www/cgi-bin"> AllowOverride None Options None Require all granted </Directory> <IfModule mime_module> # # TypesConfig points to the file containing the list of mappings from # filename extension to MIME-type. # TypesConfig /etc/mime.types # # AddType allows you to add to or override the MIME configuration # file specified in TypesConfig for specific file types. # #AddType application/x-gzip .tgz # # AddEncoding allows you to have certain browsers uncompress # information on the fly. Note: Not all browsers support this. # #AddEncoding x-compress .Z #AddEncoding x-gzip .gz .tgz # # If the AddEncoding directives above are commented-out, then you # probably should define those extensions to indicate media types: # AddType application/x-compress .Z AddType application/x-gzip .gz .tgz # # AddHandler allows you to map certain file extensions to "handlers": # actions unrelated to filetype. These can be either built into the server # or added with the Action directive (see below) # # To use CGI scripts outside of ScriptAliased directories: # (You will also need to add "ExecCGI" to the "Options" directive.) # #AddHandler cgi-script .cgi # For type maps (negotiated resources): #AddHandler type-map var # # Filters allow you to process content before it is sent to the client. # # To parse .shtml files for server-side includes (SSI): # (You will also need to add "Includes" to the "Options" directive.) # AddType text/html .shtml AddOutputFilter INCLUDES .shtml </IfModule> # # Specify a default charset for all content served; this enables # interpretation of all content as UTF-8 by default. To use the # default browser choice (ISO-8859-1), or to allow the META tags # in HTML content to override this choice, comment out this # directive: # AddDefaultCharset UTF-8 <IfModule mime_magic_module> # # The mod_mime_magic module allows the server to use various hints from the # contents of the file itself to determine its type. The MIMEMagicFile # directive tells the module where the hint definitions are located. # MIMEMagicFile conf/magic </IfModule> # # Customizable error responses come in three flavors: # 1) plain text 2) local redirects 3) external redirects # # Some examples: #ErrorDocument 500 "The server made a boo boo." #ErrorDocument 404 /missing.html #ErrorDocument 404 "/cgi-bin/missing_handler.pl" #ErrorDocument 402 http://www.example.com/subscription_info.html # # # EnableMMAP and EnableSendfile: On systems that support it, # memory-mapping or the sendfile syscall may be used to deliver # files. This usually improves server performance, but must # be turned off when serving from networked-mounted # filesystems or if support for these functions is otherwise # broken on your system. # Defaults if commented: EnableMMAP On, EnableSendfile Off # #EnableMMAP off EnableSendfile on # Supplemental configuration # # Load config files in the "/etc/httpd/conf.d" directory, if any. IncludeOptional conf.d/*.conf |