Server Web
Server HTTP Apache
The web server available in Fedora is the Apache HTTP server daemon, httpd
, an open source web server developed by the Apache Software Foundation. In Fedora 19 the Apache server was updated to Apache HTTP Server 2.4. This section describes the basic configuration of the httpd
service, and covers some advanced topics such as adding server modules, setting up virtual hosts, or configuring the secure HTTP server.
There are important differences between the Apache HTTP Server 2.4 and version 2.2, and if you are upgrading from a release prior to Fedora 19, you will need to update the httpd
service configuration accordingly. This section reviews some of the newly added features, outlines important changes, and guides you through the update of older configuration files.
Notable Changes
The Apache HTTP Server version 2.4 has the following changes compared to version 2.2:
- httpd Service Control
-
With the migration away from SysV init scripts, server administrators should switch to using the apachectl and systemctl commands to control the service, in place of the service command. The following examples are specific to the
httpd
service.
The command:
service httpd graceful
is replaced by
apachectl graceful
The systemd
unit file for httpd
has different behavior from the init script as follows:
-
A graceful restart is used by default when the service is reloaded.
-
A graceful stop is used by default when the service is stopped.
The command:
service httpd configtest
is replaced by
apachectl configtest
- Private /tmp
-
To enhance system security, the
systemd
unit file runs thehttpd
daemon using a private/tmp
directory, separate to the system/tmp
directory. - Configuration Layout
-
Configuration files which load modules are now placed in the
/etc/httpd/conf.modules.d
directory. Packages that provide additional loadable modules forhttpd
, such as php, will place a file in this directory. Any configuration files in theconf.modules.d
directory are processed before the main body ofhttpd.conf
. Configuration files in the/etc/httpd/conf.d
directory are now processed after the main body ofhttpd.conf
.
Some additional configuration files are provided by the httpd package itself:
-
/etc/httpd/conf.d/autoindex.conf
— This configures mod_autoindex directory indexing. -
/etc/httpd/conf.d/userdir.conf
— This configures access to user directories, for example,http://example.com/~username/
; such access is disabled by default for security reasons. -
/etc/httpd/conf.d/welcome.conf
— As in previous releases, this configures the welcome page displayed forhttp://localhost/
when no content is present.- Default Configuration
-
A minimal
httpd.conf
file is now provided by default. Many common configuration settings, such asTimeout
orKeepAlive
are no longer explicitly configured in the default configuration; hard-coded settings will be used instead, by default. The hard-coded default settings for all configuration directives are specified in the manual. See Installable Documentation for more information. - Incompatible Syntax Changes
-
If migrating an existing configuration from httpd 2.2 to httpd 2.4, a number of backwards-incompatible changes to the
httpd
configuration syntax were made which will require changes. See the following Apache document for more information on upgrading https://httpd.apache.org/docs/2.4/upgrading.html - Processing Model
-
In previous releases of Fedora, different multi-processing models (MPM) were made available as different
httpd
binaries: the forked model, "prefork", as/usr/sbin/httpd
, and the thread-based model "worker" as/usr/sbin/httpd.worker
.
In 29, only a single httpd
binary is used, and three MPMs are available as loadable modules: worker, prefork (default), and event. Edit the configuration file /etc/httpd/conf.modules.d/00-mpm.conf
as required, by adding and removing the comment character #
so that only one of the three MPM modules is loaded.
- Packaging Changes
-
The LDAP authentication and authorization modules are now provided in a separate sub-package, mod_ldap. The new module mod_session and associated helper modules are provided in a new sub-package, mod_session. The new modules mod_proxy_html and mod_xml2enc are provided in a new sub-package, mod_proxy_html.
- Packaging Filesystem Layout
-
The
/var/cache/mod_proxy/
directory is no longer provided; instead, the/var/cache/httpd/
directory is packaged with aproxy
andssl
subdirectory.
Packaged content provided with httpd
has been moved from /var/www/
to /usr/share/httpd/
:
-
/usr/share/httpd/icons/
— The directory containing a set of icons used with directory indices, previously contained in/var/www/icons/
, has moved to/usr/share/httpd/icons
. Available athttp://localhost/icons/
in the default configuration; the location and the availability of the icons is configurable in the/etc/httpd/conf.d/autoindex.conf
file. -
/usr/share/httpd/manual/
— The/var/www/manual/
has moved to/usr/share/httpd/manual/
. This directory, contained in the httpd-manual package, contains the HTML version of the manual forhttpd
. Available athttp://localhost/manual/
if the package is installed, the location and the availability of the manual is configurable in the/etc/httpd/conf.d/manual.conf
file. -
/usr/share/httpd/error/
— The/var/www/error/
has moved to/usr/share/httpd/error/
. Custom multi-language HTTP error pages. Not configured by default, the example configuration file is provided at/usr/share/doc/httpd-VERSION/httpd-multilang-errordoc.conf
.- Authentication, Authorization and Access Control
-
The configuration directives used to control authentication, authorization and access control have changed significantly. Existing configuration files using the
Order
,Deny
andAllow
directives should be adapted to use the newRequire
syntax. See the following Apache document for more information https://httpd.apache.org/docs/2.4/howto/auth.html - suexec
-
To improve system security, the suexec binary is no longer installed as if by the
root
user; instead, it has file system capability bits set which allow a more restrictive set of permissions. In conjunction with this change, the suexec binary no longer uses the/var/log/httpd/suexec.log
logfile. Instead, log messages are sent to syslog; by default these will appear in the/var/log/secure
log file. - Module Interface
-
Third-party binary modules built against httpd 2.2 are not compatible with httpd 2.4 due to changes to the
httpd
module interface. Such modules will need to be adjusted as necessary for the httpd 2.4 module interface, and then rebuilt. A detailed list of the API changes in version2.4
is available here: https://httpd.apache.org/docs/2.4/developer/new_api_2_4.html.
The apxs binary used to build modules from source has moved from /usr/sbin/apxs
to /usr/bin/apxs
.
- Removed modules
-
List of
httpd
modules removed in 29:- mod_auth_mysql, mod_auth_pgsql
-
httpd 2.4 provides SQL database authentication support internally in the mod_authn_dbd module.
- mod_perl
-
mod_perl is not officially supported with httpd 2.4 by upstream.
- mod_authz_ldap
-
httpd 2.4 provides LDAP support in sub-package mod_ldap using mod_authnz_ldap.
Updating the Configuration
To update the configuration files from the Apache HTTP Server version 2.2, take the following steps:
-
Make sure all module names are correct, since they may have changed. Adjust the
LoadModule
directive for each module that has been renamed. -
Recompile all third party modules before attempting to load them. This typically means authentication and authorization modules.
-
If you use the
mod_userdir
module, make sure theUserDir
directive indicating a directory name (typicallypublic_html
) is provided. -
If you use the Apache HTTP Secure Server, edit the
/etc/httpd/conf.d/ssl.conf
to enable the Secure Sockets Layer (SSL) protocol.
Note that you can check the configuration for possible errors by using the following command:
~]# apachectl configtest Syntax OK
For more information on upgrading the Apache HTTP Server configuration from version 2.2 to 2.4, see https://httpd.apache.org/docs/2.4/upgrading.html.
Menjalankan Layanan httpd
Bagian ini menjelaskan cara memulai, menghentikan, memulai ulang, dan memeriksa status Server HTTP Apache saat ini. Untuk dapat menggunakan layanan httpd
, pastikan Anda telah memasang httpd. Anda dapat melakukannya dengan menggunakan perintah berikut:
~]# dnf install httpd
Untuk informasi lebih lanjut tentang konsep target dan cara mengelola layanan sistem di Fedora secara umum, lihat Layanan dan Daemon.
Memulai Layanan
Untuk menjalankan layanan httpd
, ketik berikut ini pada prompt shell sebagai root
:
~]# systemctl start httpd.service
Jika Anda ingin layanan dimulai secara otomatis pada saat boot, gunakan perintah berikut:
~]# systemctl enable httpd.service ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'
Menggunakan server aman
Jika menjalankan Server HTTP Apache sebagai server aman, kata sandi mungkin diperlukan setelah mesin melakukan boot jika menggunakan kunci SSL pribadi terenkripsi. |
Menghentikan Layanan
Untuk menghentikan layanan httpd
yang sedang berjalan, ketik berikut ini pada prompt shell sebagai root
:
~]# systemctl stop httpd.service
Untuk mencegah layanan dimulai secara otomatis pada saat boot, ketik:
~]# systemctl disable httpd.service rm '/etc/systemd/system/multi-user.target.wants/httpd.service'
Memulai Ulang Layanan
Ada tiga cara berbeda untuk memulai ulang layanan httpd
yang sedang berjalan:
-
Untuk memulai ulang layanan sepenuhnya, masukkan perintah berikut sebagai
root
:
~]# systemctl restart httpd.service
Ini menghentikan layanan httpd
yang sedang berjalan dan langsung memulainya lagi. Gunakan perintah ini setelah memasang atau menghapus modul yang dimuat secara dinamis seperti PHP.
-
To only reload the configuration, as
root
, type:
~]# systemctl reload httpd.service
This causes the running httpd
service to reload its configuration file. Any requests currently being processed will be interrupted, which may cause a client browser to display an error message or render a partial page.
-
To reload the configuration without affecting active requests, enter the following command as
root
:
~]# apachectl graceful
This causes the running httpd
service to reload its configuration file. Any requests currently being processed will continue to use the old configuration.
Menyunting Berkas Konfigurasi
Ketika layanan httpd
dimulai, secara baku, layanan ini membaca konfigurasi dari lokasi yang tercantum dalam Berkas konfigurasi layanan httpd.
Path | Deskripsi |
---|---|
|
Berkas konfigurasi utama. |
|
Direktori tambahan untuk berkas konfigurasi yang disertakan dalam berkas konfigurasi utama. |
Meskipun konfigurasi baku mestinya cocok untuk sebagian besar situasi, adalah ide yang baik untuk menjadi setidaknya akrab dengan beberapa opsi konfigurasi yang lebih penting. Perhatikan bahwa agar setiap perubahan diterapkan, server web harus dimulai ulang terlebih dahulu. Lihat Memulai Ulang Layanan untuk informasi lebih lanjut tentang cara memulai ulang layanan httpd
. Untuk memeriksa konfigurasi tentang kemungkinan kesalahan, ketik berikut ini pada prompt shell:
~]# apachectl configtest Syntax OK
Untuk membuat pemulihan dari kesalahan lebih mudah, Anda disarankan untuk membuat salinan berkas asli sebelum mengeditnya.
Direktif Umum httpd.conf
Direktif berikut biasanya digunakan dalam berkas konfigurasi /etc/httpd/conf/httpd.conf
:
-
<Directory>
-
Direktif
<Directory>
memungkinkan Anda untuk menerapkan direktif tertentu ke direktori tertentu saja. Ini mengambil bentuk berikut:
<Directory directory> directive … </Directory>
directory dapat berupa path lengkap ke direktori yang ada di sistem berkas lokal, atau ekspresi wildcard.
Direktif ini dapat digunakan untuk mengonfigurasi direktori cgi-bin
tambahan untuk skrip sisi server yang terletak di luar direktori yang ditentukan oleh ScriptAlias
. Dalam hal ini, direktif ExecCGI
dan AddHandler
harus disediakan, dan izin pada direktori target harus diatur dengan benar (yaitu, 0755
).
<Directory /var/www/html> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
-
<IfDefine>
-
Direktif
IfDefine
memungkinkan Anda untuk menggunakan direktif tertentu hanya ketika parameter tertentu disediakan pada baris perintah. Ini mengambil bentuk berikut:
<IfDefine !parameter> directive … </IfDefine>
parameter dapat disediakan pada prompt shell menggunakan opsi baris perintah -D
parameter (misalnya, httpd -DEnableHome). Jika tanda seru opsional (yaitu, !
) ada, perintah terlampir hanya digunakan ketika parameter tidak ditentukan.
<IfDefine EnableHome> UserDir public_html </IfDefine>
-
<IfModule>
-
Direktif
<IfModule>
memungkinkan Anda untuk menggunakan direktif tertentu hanya ketika modul tertentu dimuat. Ini mengambil bentuk berikut:
<IfModule !module> directive … </IfModule>
module dapat diidentifikasi baik dengan namanya, atau dengan nama berkas. Jika tanda seru opsional (yaitu, !
) ada, direktif terlampir hanya digunakan saat modul tidak dimuat.
<IfModule mod_disk_cache.c> CacheEnable disk / CacheRoot /var/cache/mod_proxy </IfModule>
-
<Location>
-
Direktif
<Location>
memungkinkan Anda menerapkan direktif tertentu hanya ke URL tertentu. Ini mengambil bentuk berikut:
<Location url> directive … </Location>
url dapat berupa path relatif terhadap direktori yang ditentukan oleh direktif DocumentRoot
(misalnya, /server-info
), atau URL eksternal seperti http://example.com/server-info
.
<Location /server-info> SetHandler server-info Order deny,allow Deny from all Allow from .example.com </Location>
-
<Proxy>
-
Direktif
<Proxy>
memungkinkan Anda untuk menerapkan direktif tertentu hanya ke server proksi. Ini mengambil bentuk berikut:
<Proxy pattern> directive … </Proxy>
pattern dapat berupa URL eksternal, atau ekspresi wildcard (misalnya, http://example.com/*
).
<Proxy *> Order deny,allow Deny from all Allow from .example.com </Proxy>
-
<VirtualHost>
-
Direktif
<VirtualHost>
memungkinkan Anda menerapkan direktif tertentu hanya untuk host virtual tertentu. Ini mengambil bentuk berikut:
<VirtualHost address:port…> directive … </VirtualHost>
address dapat berupa alamat IP, nama domain yang sepenuhnya memenuhi syarat, atau bentuk khusus seperti yang dijelaskan dalam Opsi <VirtualHost> yang tersedia.
Opsi | Deskripsi |
---|---|
|
Mewakili semua alamat IP. |
|
Mewakili alamat IP yang tak cocok. |
<VirtualHost *:80> ServerAdmin webmaster@penguin.example.com DocumentRoot /www/docs/penguin.example.com ServerName penguin.example.com ErrorLog logs/penguin.example.com-error_log CustomLog logs/penguin.example.com-access_log common </VirtualHost>
-
AccessFileName
-
Direktif
AccessFileName
memungkinkan Anda menentukan berkas yang akan digunakan untuk menyesuaikan informasi kontrol akses untuk setiap direktori. Ini mengambil bentuk berikut:
AccessFileName filename…
filename adalah nama berkas yang harus dicari di direktori yang diminta. Secara baku, server mencari .htaccess
. Untuk alasan keamanan, direktif biasanya diikuti oleh tag Files
untuk mencegah berkas yang dimulai dengan .ht
diakses oleh klien web. Ini termasuk berkas .htaccess
dan .htpasswd
.
AccessFileName .htaccess <Files ~ "^\.ht"> Order allow,deny Deny from all Satisfy All </Files>
-
Action
-
Direktif
Action
memungkinkan Anda menentukan skrip CGI yang akan dijalankan saat jenis media tertentu diminta. Ini mengambil bentuk berikut:
Action content-type path
content-type harus berupa jenis MIME yang valid seperti text/html
, image/png
, atau application/pdf
. path mengacu pada skrip CGI yang ada, dan harus relatif terhadap direktori yang ditentukan oleh direktif DocumentRoot
(misalnya, /cgi-bin/process-image.cgi
).
Action image/png /cgi-bin/process-image.cgi
-
AddDescription
-
Direktif
AddDescription
memungkinkan Anda menentukan deskripsi singkat yang akan ditampilkan dalam daftar direktori yang dihasilkan server untuk berkas tertentu. Ini mengambil bentuk berikut:
AddDescription "description" filename…
description harus berupa teks pendek yang diapit dalam tanda kutip ganda (yaitu, "
). filename dapat berupa nama berkas lengkap, ekstensi berkas, atau ekspresi wildcard.
AddDescription "GZIP compressed tar archive" .tgz
-
AddEncoding
-
Direktif
AddEncoding
memungkinkan Anda menentukan jenis pengodean untuk ekstensi berkas tertentu. Ini mengambil bentuk berikut:
AddEncoding encoding extension…
encoding harus berupa pengodean MIME yang valid seperti x-compress
, x-gzip
, dll. extension adalah ekstensi berkas peka huruf besar/kecil, dan secara konvensional ditulis dengan awalan titik (misalnya, .gz
).
Direktif ini biasanya digunakan untuk menginstruksikan peramban web agar mendekompresi jenis berkas tertentu saat diunduh.
AddEncoding x-gzip .gz .tgz
-
AddHandler
-
Direktif
AddHandler
memungkinkan Anda memetakan ekstensi berkas tertentu ke penangan yang dipilih. Ini mengambil bentuk berikut:
AddHandler handler extension…
handler harus berupa nama penangan yang ditentukan sebelumnya. extension adalah ekstensi berkas peka huruf besar/kecil, dan secara konvensional ditulis dengan awalan titik (misalnya, .cgi
).
Direktif ini biasanya digunakan untuk memperlakukan berkas dengan ekstensi .cgi
sebagai skrip CGI terlepas dari direktori tempat mereka berada. Selain itu, ini juga biasanya digunakan untuk memproses berkas HTML dan peta gambar yang diurai server.
AddHandler cgi-script .cgi
-
AddIcon
-
Direktif
AddIcon
memungkinkan Anda menentukan ikon yang akan ditampilkan untuk berkas tertentu dalam daftar direktori yang dihasilkan server. Ini mengambil bentuk berikut:
AddIcon path pattern…
path mengacu pada berkas ikon yang ada, dan harus relatif terhadap direktori yang ditentukan oleh direktif DocumentRoot
(misalnya, /icons/folder.png
). pattern dapat berupa nama berkas, ekstensi berkas, ekspresi wildcard, atau formulir khusus seperti yang dijelaskan dalam tabel berikut:
Opsi | Deskripsi |
---|---|
|
Mewakili direktori. |
|
Mewakili baris kosong. |
AddIcon /icons/text.png .txt README
-
AddIconByEncoding
-
Direktif
AddIconByEncoding
memungkinkan Anda menentukan ikon yang akan ditampilkan untuk jenis pengodean tertentu dalam daftar direktori yang dihasilkan server. Ini mengambil bentuk berikut:
AddIconByEncoding path encoding…
path mengacu pada berkas ikon yang ada, dan harus relatif terhadap direktori yang ditentukan oleh direktif DocumentRoot
(misalnya, /icons/compressed.png
). encoding harus berupa pengodean MIME yang valid seperti x-compress
, x-gzip
, dll.
AddIconByEncoding /icons/compressed.png x-compress x-gzip
-
AddIconByType
-
Direktif
AddIconByType
memungkinkan Anda menentukan ikon yang akan ditampilkan untuk jenis media tertentu dalam daftar direktori yang dihasilkan server. Ini mengambil bentuk berikut:
AddIconByType path content-type…
path mengacu pada berkas ikon yang ada, dan harus relatif terhadap direktori yang ditentukan oleh direktif DocumentRoot
(misalnya, /icons/text.png
). content-type harus berupa jenis MIME yang valid (misalnya, text/html
atau image/png
), atau ekspresi wildcard seperti text/
, image/
, dll.
AddIconByType /icons/video.png video/*
-
AddLanguage
-
Direktif
AddLanguage
memungkinkan Anda mengaitkan ekstensi berkas dengan bahasa tertentu. Ini mengambil bentuk berikut:
AddLanguage language extension…
language harus berupa bahasa MIME yang valid seperti cs
, en
, atau fr
. extension adalah ekstensi berkas peka huruf besar/kecil, dan secara konvensional ditulis dengan awalan titik (misalnya, .cs
).
Direktif ini sangat berguna untuk server web yang menyajikan konten dalam berbagai bahasa berdasarkan pengaturan bahasa klien.
AddLanguage cs .cs .cz
-
AddType
-
Direktif
AddType
memungkinkan Anda untuk menentukan atau mengganti jenis media untuk ekstensi berkas tertentu. Ini mengambil bentuk berikut:
AddType content-type extension…
content-type harus berupa jenis MIME yang valid seperti text/html
, image/png
, dll. extension adalah ekstensi berkas peka huruf besar/kecil, dan secara konvensional ditulis dengan awalan titik (misalnya, .cs
).
AddType application/x-gzip .gz .tgz
-
Alias
-
Direktif
Alias
memungkinkan Anda untuk merujuk ke berkas dan direktori di luar direktori baku yang ditentukan oleh direktifDocumentRoot
. Ini mengambil bentuk berikut:
Alias url-path real-path
url-path harus relatif terhadap direktori yang ditentukan oleh direktif DocumentRoot
(misalnya, /images/
). real-path adalah path lengkap ke berkas atau direktori di sistem berkas lokal. Direktif ini biasanya diikuti oleh tag Directory
dengan izin tambahan untuk mengakses direktori target. Secara baku, alias /icons/
dibuat sehingga ikon dari /var/www/icons/
ditampilkan dalam daftar direktori yang dihasilkan server.
Alias /icons/ /var/www/icons/ <Directory "/var/www/icons"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all <Directory>
-
Allow
-
Direktif
Allow
memungkinkan Anda menentukan klien mana yang memiliki izin untuk mengakses direktori tertentu. Ini mengambil bentuk berikut:
Allow from client…
client dapat berupa nama domain, alamat IP (lengkap dan sebagian), pasangan network/netmask, atau all
untuk semua klien.
Allow from 192.168.1.0/255.255.255.0
-
AllowOverride
-
Direktif
AllowOverride
memungkinkan Anda menentukan direktif mana dalam berkas.htaccess
yang dapat menimpa konfigurasi baku. Ini mengambil bentuk berikut:
AllowOverride type…
type harus berupa salah satu opsi pengelompokan yang tersedia seperti yang dijelaskan dalam Opsi AllowOverride yang Tersedia.
Opsi | Deskripsi |
---|---|
|
Semua direktif dalam |
|
Tidak ada direktif dalam |
|
Mengizinkan penggunaan direktif otorisasi seperti |
|
Memungkinkan penggunaan jenis berkas, metadata, dan direktif |
|
Memungkinkan penggunaan direktif pengindeksan direktori seperti |
|
Memungkinkan penggunaan direktif akses host, yaitu, |
|
Memungkinkan penggunaan direktif |
AllowOverride FileInfo AuthConfig Limit
-
BrowserMatch
-
Direktif
BrowserMatch
memungkinkan Anda untuk mengubah perilaku server berdasarkan jenis peramban web klien. Ini mengambil bentuk berikut:
BrowserMatch pattern variable…
pattern adalah ekspresi reguler agar sesuai dengan bidang header HTTP User-Agent. variable adalah variabel lingkungan yang diatur ketika bidang header cocok dengan pola.
Secara baku, direktif ini digunakan untuk menolak koneksi ke peramban tertentu dengan masalah yang diketahui, dan untuk menonaktifkan keepalive dan header HTTP flush untuk peramban yang diketahui memiliki masalah dengan tindakan ini.
BrowserMatch "Mozilla/2" nokeepalive
-
CacheDefaultExpire
-
Opsi
CacheDefaultExpire
memungkinkan Anda untuk mengatur berapa lama untuk menyimpan dokumen dalam cache yang tidak memiliki tanggal kedaluwarsa atau tanggal modifikasi terakhirnya yang ditentukan. Ini mengambil bentuk berikut:
CacheDefaultExpire time
time ditentukan dalam hitungan detik. Opsi baku adalah 3600
(yaitu, satu jam).
CacheDefaultExpire 3600
-
CacheDisable
-
Direktif
CacheDisable
memungkinkan Anda menonaktifkan penyinggahan URL tertentu. Ini mengambil bentuk berikut:
CacheDisable path
path harus relatif terhadap direktori yang ditentukan oleh direktif DocumentRoot
(misalnya, /files/
).
CacheDisable /temporary
-
CacheEnable
-
Direktif
CacheEnable
memungkinkan Anda menentukan jenis cache yang akan digunakan untuk URL tertentu. Ini mengambil bentuk berikut:
CacheEnable type url
type harus berupa jenis cache yang valid seperti yang dijelaskan dalam Tipe cache yang tersedia. url dapat berupa path relatif terhadap direktori yang ditentukan oleh direktif DocumentRoot
(misalnya, /images/
), protokol (misalnya, ftp://
), atau URL eksternal seperti http://example.com/
.
Tipe | Deskripsi |
---|---|
|
Manajer penyimpanan berbasis memori. |
|
Manajer penyimpanan berbasis disk. |
|
Cache deskriptor berkas. |
CacheEnable disk /
-
CacheLastModifiedFactor
-
Direktif
CacheLastModifiedFactor
memungkinkan Anda untuk menyesuaikan berapa lama untuk menyimpan dokumen dalam cache yang tidak memiliki tanggal kedaluwarsa yang ditentukan, tetapi yang memberikan informasi tentang tanggal modifikasi terakhirnya. Ini mengambil bentuk berikut:
CacheLastModifiedFactor number
number adalah koefisien yang akan digunakan untuk mengalikan waktu yang berlalu sejak modifikasi terakhir dokumen. Opsi baku adalah 0.1
(yaitu, sepersepuluh).
CacheLastModifiedFactor 0.1
-
CacheMaxExpire
-
Direktif
CacheMaxExpire
memungkinkan Anda menentukan jumlah waktu maksimum untuk menyimpan dokumen dalam cache. Ini mengambil bentuk berikut:
CacheMaxExpire time
time ditentukan dalam hitungan detik. Opsi baku adalah 86400
(yaitu, satu hari).
CacheMaxExpire 86400
-
CacheNegotiatedDocs
-
Direktif
CacheNegotiatedDocs
memungkinkan Anda untuk mengaktifkan penyinggahan (caching) dokumen yang dinegosiasikan berdasarkan konten. Ini mengambil bentuk berikut:
CacheNegotiatedDocs option
option harus berupa kata kunci yang valid seperti yang dijelaskan dalam Opsi CacheNegotiatedDocs yang tersedia. Karena dokumen yang kontennya dinegosiasikan dapat berubah seiring waktu atau karena masukan dari pemohon, opsi bakunya adalah Off
.
Opsi | Deskripsi |
---|---|
|
Memungkinkan penyinggahan dokumen yang dinegosiasikan konten. |
|
Menonaktifkan penyinggahan dokumen yang dinegosiasikan konten. |
CacheNegotiatedDocs On
-
CacheRoot
-
Direktif
CacheRoot
memungkinkan Anda menentukan direktori untuk menyimpan berkas cache. Ini mengambil bentuk berikut:
CacheRoot directory
directory harus merupakan path lengkap ke direktori yang ada di sistem berkas lokal. Opsi baku adalah /var/cache/mod_proxy/
.
CacheRoot /var/cache/mod_proxy
-
CustomLog
-
Direktif
CustomLog
memungkinkan Anda menentukan nama berkas log dan format berkas log. Ini mengambil bentuk berikut:
CustomLog path format
path mengacu pada berkas log, dan harus relatif terhadap direktori yang ditentukan oleh direktif ServerRoot
(yaitu, /etc/httpd/
secara baku). format harus berupa string format eksplisit, atau nama format yang sebelumnya didefinisikan menggunakan direktif LogFormat
.
CustomLog logs/access_log combined
-
DefaultIcon
-
Direktif
DefaultIcon
memungkinkan Anda menentukan ikon yang akan ditampilkan untuk berkas dalam daftar direktori yang dihasilkan server ketika tidak ada ikon lain yang terkait dengannya. Ini mengambil bentuk berikut:
DefaultIcon path
path mengacu pada berkas ikon yang ada, dan harus relatif terhadap direktori yang ditentukan oleh direktif DocumentRoot
(misalnya, /icons/unknown.png
).
DefaultIcon /icons/unknown.png
-
DefaultType
-
Direktif
DefaultType
memungkinkan Anda menentukan jenis media yang akan digunakan jika jenis MIME yang tepat tidak dapat ditentukan oleh server. Ini mengambil bentuk berikut:
DefaultType content-type
content-type harus berupa jenis MIME yang valid seperti text/html
, image/png
, application/pdf
, dll.
DefaultType text/plain
-
Deny
-
Direktif
Deny
memungkinkan Anda menentukan klien mana yang ditolak aksesnya ke direktori tertentu. Ini mengambil bentuk berikut:
Deny from client…
client dapat berupa nama domain, alamat IP (lengkap dan sebagian), pasangan network/netmask, atau all
untuk semua klien.
Deny from 192.168.1.1
-
DirectoryIndex
-
Direktif
DirectoryIndex
memungkinkan Anda menentukan dokumen yang akan disajikan kepada klien saat direktori diminta (yaitu, ketika URL berakhir dengan karakter/
). Ini mengambil bentuk berikut:
DirectoryIndex filename…
filename adalah nama berkas yang harus dicari di direktori yang diminta. Secara baku, server mencari index.html
, dan index.html.var
.
DirectoryIndex index.html index.html.var
-
DocumentRoot
-
Direktif
DocumentRoot
memungkinkan Anda menentukan direktori utama tempat konten disajikan. Ini mengambil bentuk berikut:
DocumentRoot directory
directory harus merupakan path lengkap ke direktori yang ada di sistem berkas lokal. Opsi baku adalah /var/www/html/
.
DocumentRoot /var/www/html
-
ErrorDocument
-
Direktif
ErrorDocument
memungkinkan Anda menentukan dokumen atau pesan yang akan ditampilkan sebagai respons terhadap kesalahan tertentu. Ini mengambil bentuk berikut:
ErrorDocument error-code action
error-code harus berupa kode yang valid seperti 403
(Terlarang), 404
(Tidak Ditemukan), atau 500
(Kesalahan Server Internal). action dapat berupa URL (baik lokal maupun eksternal), atau string pesan yang disertakan dalam tanda kutip ganda (yaitu, "
).
ErrorDocument 403 "Access Denied" ErrorDocument 404 /404-not_found.html
-
ErrorLog
-
Direktif
ErrorLog
memungkinkan Anda menentukan berkas tempat kesalahan server dicatat. Ini mengambil bentuk berikut:
ErrorLog path
path mengacu pada berkas log, dan dapat bersifat absolut, atau relatif terhadap direktori yang ditentukan oleh direktif ServerRoot
(yaitu, /etc/httpd/
secara baku). Opsi baku adalah logs/error_log
ErrorLog logs/error_log
-
ExtendedStatus
-
Direktif
ExtendedStatus
memungkinkan Anda mengaktifkan informasi status server terperinci. Ini mengambil bentuk berikut:
ExtendedStatus option
option harus berupa kata kunci yang valid seperti yang dijelaskan dalam Opsi ExtendedStatus yang tersedia. Opsi baku adalah Off
.
Opsi | Deskripsi |
---|---|
|
Memungkinkan menghasilkan status server terperinci. |
|
Menonaktifkan menghasilkan status server terperinci. |
ExtendedStatus On
-
Group
-
Direktif
Group
memungkinkan Anda menentukan grup tempat layananhttpd
akan berjalan. Ini mengambil bentuk berikut:
Group group
group harus berupa grup UNIX yang ada. Opsi baku adalah apache
.
Perhatikan bahwa Group
tidak lagi didukung di dalam <VirtualHost>
, dan telah digantikan oleh direktif SuexecUserGroup
.
Group apache
-
HeaderName
-
Direktif
HeaderName
memungkinkan Anda menentukan berkas yang akan ditambahkan ke awal daftar direktori yang dihasilkan server. Ini mengambil bentuk berikut:
HeaderName filename
filename adalah nama berkas yang harus dicari di direktori yang diminta. Secara baku, server mencari HEADER.html
.
HeaderName HEADER.html
-
HostnameLookups
-
Direktif
HostnameLookups
memungkinkan Anda mengaktifkan penguraian otomatis alamat IP. Ini mengambil bentuk berikut:
HostnameLookups option
option harus berupa kata kunci yang valid seperti yang dijelaskan dalam Opsi HostnameLookups yang tersedia. Untuk menghemat sumber daya di server, opsi baku adalah Off
.
Opsi | Deskripsi: |
---|---|
|
Memungkinkan penyelesaian alamat IP untuk setiap koneksi sehingga nama host dapat dicatat. Namun, ini juga menambahkan overhead pemrosesan yang signifikan. |
|
Memungkinkan melakukan pencarian DNS balik ganda. Dibandingkan dengan opsi di atas, ini menambahkan lebih banyak overhead pemrosesan. |
|
Menonaktifkan penyelesaian alamat IP untuk setiap koneksi. |
Perhatikan bahwa ketika kehadiran nama host diperlukan dalam berkas log server, sering kali dimungkinkan untuk menggunakan salah satu dari banyak alat analisis log yang melakukan pencarian DNS dengan lebih efisien.
HostnameLookups Off
-
Include
-
Direktif
Include
memungkinkan Anda untuk menyertakan berkas konfigurasi lain. Ini mengambil bentuk berikut:
Include filename
filename
dapat berupa path absolut, path relatif terhadap direktori yang ditentukan oleh direktif ServerRoot
, atau ekspresi wildcard. Semua berkas konfigurasi dari direktori /etc/httpd/conf.d/
dimuat secara baku.
Include conf.d/*.conf
-
IndexIgnore
-
Direktif
IndexIgnore
memungkinkan Anda menentukan daftar nama berkas yang akan dihilangkan dari daftar isi direktori yang dihasilkan server. Ini mengambil bentuk berikut:
IndexIgnore filename…
Opsi filename dapat berupa nama berkas lengkap, atau ekspresi wildcard.
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
-
IndexOptions
-
Direktif
IndexOptions
memungkinkan Anda untuk menyesuaikan perilaku daftar isi direktori yang dihasilkan server. Ini mengambil bentuk berikut:
IndexOptions option…
option harus berupa kata kunci yang valid seperti yang dijelaskan dalam Opsi daftar isi direktori yang tersedia. Opsi bakunya adalah Charset=UTF-8
, FancyIndexing
, HTMLTable
, NameWidth=*
, dan VersionSort
.
Opsi | Deskripsi |
---|---|
|
Menentukan set karakter dari halaman web yang dihasilkan. encoding harus berupa set karakter yang valid seperti |
|
Menentukan jenis media dari halaman web yang dihasilkan. content-type harus berupa jenis MIME yang valid seperti |
|
Menentukan lebar kolom deskripsi. value dapat berupa jumlah karakter, atau tanda bintang (yaitu, |
|
Memungkinkan fitur-fitur canggih seperti ikon yang berbeda untuk berkas tertentu atau kemungkinan untuk mengurutkan ulang daftar direktori dengan mengklik header kolom. |
|
Memungkinkan daftar direktori terlebih dahulu, selalu menempatkannya di atas berkas. |
|
Memungkinkan penggunaan tabel HTML untuk daftar direktori. |
|
Memungkinkan penggunaan ikon sebagai tautan. |
|
Menentukan tinggi ikon. value adalah jumlah piksel. |
|
Menentukan lebar ikon. value adalah jumlah piksel. |
|
Memungkinkan pengurutan berkas dan direktori dengan cara yang peka huruf besar/kecil. |
|
Menonaktifkan penerimaan variabel kueri dari klien. |
|
Menentukan lebar kolom nama berkas. value dapat berupa jumlah karakter, atau tanda bintang (yaitu, |
|
Memungkinkan penguraian berkas untuk deskripsi (yaitu, elemen |
|
Memungkinkan daftar berkas dengan akses terbatas. |
|
Menonaktifkan pengurutan ulang daftar direktori dengan mengklik header kolom. |
|
Menonaktifkan pemesanan ruang untuk deskripsi berkas. |
|
Menonaktifkan penggunaan pembukaan HTML standar ketika berkas yang ditentukan oleh direktif |
|
Menonaktifkan penggunaan ikon dalam daftar direktori. |
|
Menonaktifkan menampilkan tanggal bidang modifikasi terakhir dalam daftar direktori. |
|
Menonaktifkan penggunaan garis horizontal dalam daftar direktori. |
|
Menonaktifkan menampilkan bidang ukuran berkas dalam daftar direktori. |
|
emungkinkan pengembalian nilai |
|
Memungkinkan pengurutan berkas yang berisi nomor versi dengan cara yang diharapkan. |
|
Memungkinkan penggunaan XHTML 1.0 alih-alih HTML baku 3.2. |
IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable Charset=UTF-8
-
KeepAlive
-
Direktif
KeepAlive
memungkinkan Anda mengaktifkan koneksi persisten. Ini mengambil bentuk berikut:
KeepAlive option
option harus berupa kata kunci yang valid seperti yang dijelaskan dalam Opsi KeepAlive yang tersedia. Opsi baku adalah Off
.
Opsi | Deskripsi |
---|---|
|
Memungkinkan koneksi persisten. Dalam hal ini, server akan menerima lebih dari satu permintaan per koneksi. |
|
Menonaktifkan koneksi keep-alive. |
Perhatikan bahwa ketika koneksi persisten diaktifkan, pada server yang sibuk, jumlah proses anak dapat meningkat dengan cepat dan akhirnya mencapai batas maksimum, memperlambat server secara signifikan. Untuk mengurangi risiko, Anda disarankan untuk mengatur KeepAliveTimeout
ke angka yang rendah, dan memantau berkas log /var/log/httpd/logs/error_log
dengan hati-hati.
KeepAlive Off
-
KeepAliveTimeout
-
Direktif
KeepAliveTimeout
memungkinkan Anda menentukan jumlah waktu untuk menunggu permintaan lain sebelum menutup koneksi. Ini mengambil bentuk berikut:
KeepAliveTimeout time
time ditentukan dalam hitungan detik. Opsi baku adalah 15
.
KeepAliveTimeout 15
-
LanguagePriority
-
Direktif
LanguagePriority
memungkinkan Anda untuk menyesuaikan prioritas bahasa. Ini mengambil bentuk berikut:
LanguagePriority language…
language harus berupa bahasa MIME yang valid seperti cs
, en
, atau fr
.
Direktif ini sangat berguna untuk server web yang menyajikan konten dalam berbagai bahasa berdasarkan pengaturan bahasa klien.
LanguagePriority sk cs en
-
Listen
-
Direktif Listen memungkinkan Anda menentukan alamat IP atau port untuk didengarkan. Ini mengambil bentuk berikut:
Listen ip-address:port protocol
ip-address bersifat opsional dan kecuali disediakan, server akan menerima permintaan masuk pada port tertentu dari semua alamat IP. Karena protocol ditentukan secara otomatis dari nomor port, biasanya dapat dihilangkan. Opsi baku adalah mendengarkan port 80
.
Perhatikan bahwa jika server dikonfigurasi untuk mendengarkan port di bawah 1024, hanya pengguna super yang dapat memulai layanan httpd
.
Listen 80
-
LoadModule
-
Direktif
LoadModule
memungkinkan Anda memuat modul Dynamic Shared Object (DSO). Ini mengambil bentuk berikut:
LoadModule name path
name harus berupa pengidentifikasi yang valid dari modul yang diperlukan. path mengacu pada berkas modul yang ada, dan harus relatif terhadap direktori tempat pustaka ditempatkan (yaitu, /usr/lib/httpd/
pada 32-bit dan /usr/lib64/httpd/
pada sistem 64-bit secara baku).
Lihat Bekerja dengan Modul untuk informasi lebih lanjut tentang dukungan DSO Server HTTP Apache.
LoadModule php5_module modules/libphp5.so
-
LogFormat
-
Direktif LogFormat memungkinkan Anda menentukan format berkas log. Ini mengambil bentuk berikut:
LogFormat format name
format adalah string yang terdiri dari opsi seperti yang dijelaskan dalam Opsi Umum LogFormat. name dapat digunakan sebagai pengganti string format dalam direktif CustomLog
.
Opsi | Deskripsi |
---|---|
|
Mewakili ukuran respon dalam byte. |
|
Mewakili alamat IP atau nama host klien jarak jauh. |
|
Mewakili nama log jarak jauh jika disediakan. Jika tidak, tanda hubung (yaitu, |
[option] %r |
Mewakili baris pertama string permintaan sebagaimana datang dari peramban atau klien. |
[option] %s |
Mewakili kode status. |
|
Mewakili tanggal dan waktu permintaan. |
[option] %u` |
Jika autentikasi diperlukan, autentikasi tersebut mewakili pengguna jarak jauh. Jika tidak, tanda hubung (yaitu, |
|
Mewakili konten field header HTTP. Opsi umum termasuk |
LogFormat "%h %l %u %t \"%r\" %>s %b" common
-
LogLevel
-
Direktif
LogLevel
memungkinkan Anda untuk menyesuaikan tingkat verbositas log kesalahan. Ini mengambil bentuk berikut:
LogLevel option
option harus berupa kata kunci yang valid seperti yang dijelaskan dalam Opsi LogLevel yang tersedia. Opsi baku adalah warn
.
Opsi | Deskripsi |
---|---|
|
Hanya situasi darurat ketika server tidak dapat melakukan pekerjaannya yang dicatat dalam log. |
|
Semua situasi ketika diperlukan tindakan seketika yang dicatat dalam log. |
|
Semua kondisi kritis dicatat dalam log. |
|
Semua pesan kesalahan dicatat dalam log. |
|
Semua pesan peringatan dicatat dalam log. |
|
Bahkan normal, tetapi masih merupakan situasi signifikan yang dicatat dalam log. |
|
Berbagai pesan informasi dicatat dalam log. |
|
Berbagai pesan debug dicatat dalam log. |
LogLevel warn
-
MaxKeepAliveRequests
-
Direktif
MaxKeepAliveRequests
memungkinkan Anda menentukan jumlah maksimum permintaan untuk koneksi persisten. Ini mengambil bentuk berikut:
MaxKeepAliveRequests number
Number yang tinggi dapat meningkatkan kinerja server. Perhatikan bahwa menggunakan 0
memungkinkan jumlah permintaan yang tidak terbatas. Opsi baku adalah 100
.
MaxKeepAliveRequests 100
-
NameVirtualHost
-
Direktif
NameVirtualHost
memungkinkan Anda menentukan alamat IP dan nomor port untuk host virtual berbasis nama. Ini mengambil bentuk berikut:
NameVirtualHost ip-address:port
ip-address dapat berupa alamat IP lengkap, atau tanda bintang (yaitu, *
) yang mewakili semua antarmuka. Perhatikan bahwa alamat IPv6 harus diapit dalam tanda kurung siku (yaitu, [
dan ]
). port bersifat opsional.
Hosting virtual berbasis nama memungkinkan satu Server HTTP Apache untuk melayani domain-domain yang berbeda tanpa menggunakan beberapa alamat IP.
Menggunakan koneksi HTTP yang aman
Host virtual berbasis nama hanya bekerja dengan koneksi HTTP yang tidak aman. Jika menggunakan host virtual dengan server yang aman, gunakan host virtual berbasis alamat IP sebagai gantinya. |
NameVirtualHost *:80
-
Options
-
Direktif
Options
memungkinkan Anda menentukan fitur server mana yang tersedia di direktori tertentu. Ini mengambil bentuk berikut:
Options option…
option harus berupa kata kunci yang valid seperti yang dijelaskan dalam Fitur-fitur server yang tersedia.
Opsi | Deskripsi |
---|---|
|
Memfungsikan eksekusi skrip CGI. |
|
Memfungsikan mengikuti taut simbolis dalam direktori. |
|
Memfungsikan server-side includes (penyertaan di sisi server). |
|
Memfungsikan server-side includes, tapi tidak mengizinkan eksekusi perintah. |
|
Memfungsikan daftar direktori yang dibuat oleh server. |
|
Memfungsikan konten yang dinegosiasikan "MultiViews". |
|
Memfungsikan mengikuti taut simbolis dalam direktori saat tautan dan berkas target keduanya punya pemilik yang sama. |
|
Memfungsikan semua fitur di atas kecuali |
|
Menonaktifkan semua fitur di atas |
Options Indexes FollowSymLinks
-
Order
-
Direktif
Order
memungkinkan Anda menentukan urutan di mana direktifAllow
danDeny
dievaluasi. Ini mengambil bentuk berikut:
Order option
option harus berupa kata kunci yang valid seperti yang dijelaskan dalam Opsi Order yang tersedia. Opsi bakunya adalah allow,deny
.
Opsi | Deskripsi |
---|---|
|
Direktif |
|
Direktif |
Order allow,deny
-
PidFile
-
Direktif
PidFile
memungkinkan Anda menentukan berkas tempat process ID (PID) server disimpan. Ini mengambil bentuk berikut:
PidFile path
path mengacu pada berkas pid, dan dapat bersifat absolut, atau relatif terhadap direktori yang ditentukan oleh direktif ServerRoot
(yaitu, /etc/httpd/
secara baku). Opsi baku adalah run/httpd.pid
.
PidFile run/httpd.pid
-
ProxyRequests
-
Direktif
ProxyRequests
memungkinkan Anda untuk mengaktifkan penerusan permintaan proksi. Ini mengambil bentuk berikut:
ProxyRequests option
option harus berupa kata kunci yang valid seperti yang dijelaskan dalam Opsi ProxyRequests yang tersedia. Opsi baku adalah Off
.
Opsi | Deskripsi |
---|---|
|
Memungkinkan penerusan permintaan proksi. |
|
Menonaktifkan penerusan permintaan proksi. |
ProxyRequests On
-
ReadmeName
-
Direktif
ReadmeName
memungkinkan Anda menentukan berkas yang akan ditambahkan ke akhir daftar direktori yang dihasilkan server. Ini mengambil bentuk berikut:
ReadmeName filename
filename adalah nama berkas yang harus dicari di direktori yang diminta. Secara baku, server mencari README.html
.
ReadmeName README.html
-
Redirect
-
Direktif
Redirect
memungkinkan Anda untuk mengarahkan klien ke URL lain. Ini mengambil bentuk berikut:
Redirect status path url
status bersifat opsional, dan jika disediakan, itu harus berupa kata kunci yang valid seperti yang dijelaskan dalam Opsi status yang tersedia. path mengacu pada lokasi lama, dan harus relatif terhadap direktori yang ditentukan oleh direktif DocumentRoot
(misalnya, /docs
). url mengacu pada lokasi konten saat ini (misalnya, http://docs.example.com
).
Status | Deskripsi |
---|---|
|
Menunjukkan bahwa sumber daya yang diminta telah dipindahkan secara permanen. Kode status |
|
Menunjukkan bahwa sumber daya yang diminta telah dipindahkan hanya sementara. Kode status |
|
Menunjukkan bahwa sumber daya yang diminta telah diganti. Kode status |
|
Menunjukkan bahwa sumber daya yang diminta telah dihapus secara permanen. Status |
Perhatikan bahwa untuk teknik pengalihan yang lebih canggih, Anda dapat menggunakan modul mod_rewrite
yang merupakan bagian dari instalasi Server HTTP Apache.
Redirect permanent /docs http://docs.example.com
-
ScriptAlias
-
Direktif
ScriptAlias
memungkinkan Anda menentukan lokasi skrip CGI. Ini mengambil bentuk berikut:
ScriptAlias url-path real-path
url-path harus relatif terhadap direktori yang ditentukan oleh direktif DocumentRoot
(misalnya, /cgi-bin/
). real-path adalah path lengkap ke berkas atau direktori di sistem berkas lokal. Direktif ini biasanya diikuti oleh tag Directory
dengan izin tambahan untuk mengakses direktori target. Secara baku, alias /cgi-bin/
dibuat sehingga skrip yang terletak di /var/www/cgi-bin/
dapat diakses.
Direktif ScriptAlias
digunakan untuk alasan keamanan guna mencegah skrip CGI dilihat sebagai dokumen teks biasa.
ScriptAlias /cgi-bin/ /var/www/cgi-bin/ <Directory "/var/www/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory>
-
ServerAdmin
-
Direktif
ServerAdmin
memungkinkan Anda menentukan alamat surel administrator server yang akan ditampilkan di halaman web yang dihasilkan server. Ini mengambil bentuk berikut:
ServerAdmin email
Opsi baku adalah root@localhost
.
Direktif ini biasanya diatur ke webmaster@hostname
, di mana hostname adalah alamat server. Setelah diatur, aliaskan webmaster
ke orang yang bertanggung jawab atas server web di /etc/aliases
, dan sebagai pengguna super, jalankan perintah newaliases.
ServerAdmin webmaster@penguin.example.com
-
ServerName
-
Direktif
ServerName
memungkinkan Anda menentukan nama host dan nomor port server web. Ini mengambil bentuk berikut:
ServerName hostname:port
hostname harus berupa domain fully qualified domain name (* FQDN *) server. port bersifat opsional, tetapi ketika disediakan, itu harus cocok dengan nomor yang ditentukan oleh direktif Listen
.
Saat menggunakan direktif ini, pastikan bahwa alamat IP dan pasangan nama server disertakan dalam berkas /etc/hosts
.
ServerName penguin.example.com:80
-
ServerRoot
-
Direktif
ServerRoot
memungkinkan Anda menentukan direktori tempat server beroperasi. Ini mengambil bentuk berikut:
ServerRoot directory
directory harus merupakan path lengkap ke direktori yang ada di sistem berkas lokal. Opsi baku adalah /etc/httpd/
.
ServerRoot /etc/httpd
-
ServerSignature
-
Direktif
ServerSignature
memungkinkan Anda untuk mengaktifkan tampilan informasi tentang server pada dokumen yang dihasilkan server. Ini mengambil bentuk berikut:
ServerSignature option
option harus berupa kata kunci yang valid seperti yang dijelaskan dalam Opsi ServerSignature yang tersedia. Opsi baku adalah On
.
Opsi | Deskripsi |
---|---|
|
Memungkinkan penambahan nama dan versi server ke halaman yang dihasilkan server. |
|
Menonaktifkan penambahan nama dan versi server ke halaman yang dihasilkan server. |
|
Memungkinkan penambahan nama server, versi, dan alamat surel administrator sistem sebagaimana ditentukan oleh direktif |
ServerSignature On
-
ServerTokens
-
Direktif
ServerTokens
memungkinkan Anda untuk menyesuaikan informasi apa yang disertakan dalam header respons Server. Ini mengambil bentuk berikut:
ServerTokens option
option harus berupa kata kunci yang valid seperti yang dijelaskan dalam Opsi ServerTokens yang tersedia. Opsi baku adalah OS
.
Opsi | Deskripsi |
---|---|
|
Termasuk nama produk saja (yaitu, |
|
Termasuk nama produk dan versi utama server (misalnya, |
|
Termasuk nama produk dan versi minor server (misalnya, |
|
Termasuk nama produk dan versi minimal server (misalnya, |
|
Termasuk nama produk, versi minimal server, dan jenis sistem operasi yang dijalankannya (misalnya, |
|
Termasuk semua informasi di atas bersama dengan daftar modul yang dimuat. |
Perhatikan bahwa untuk alasan keamanan, disarankan untuk mengungkapkan informasi sesedikit mungkin tentang server.
ServerTokens Prod
-
SuexecUserGroup
-
Direktif
SuexecUserGroup
memungkinkan Anda untuk menentukan pengguna dan grup tempat skrip CGI akan dijalankan. Ini mengambil bentuk berikut:
SuexecUserGroup user group
user harus berupa pengguna yang sudah ada, dan group harus berupa grup UNIX yang valid.
Untuk alasan keamanan, skrip CGI tidak boleh dijalankan dengan hak istimewa root
. Perhatikan bahwa dalam <VirtualHost>
, SuexecUserGroup
menggantikan direktif User
dan Group
.
SuexecUserGroup apache apache
-
Timeout
-
Direktif
Timeout
memungkinkan Anda menentukan lama waktu untuk menunggu kejadian sebelum menutup koneksi. Ini mengambil bentuk berikut:
Timeout time
time ditentukan dalam hitungan detik. Opsi baku adalah 60
.
Timeout 60
-
TypesConfig
-
TypesConfig
memungkinkan Anda menentukan lokasi berkas konfigurasi jenis MIME. Ini mengambil bentuk berikut:
TypesConfig path
path mengacu pada berkas konfigurasi jenis MIME yang ada, dan dapat bersifat absolut, atau relatif terhadap direktori yang ditentukan oleh direktif ServerRoot
(yaitu, /etc/httpd/
secara baku). Opsi baku adalah /etc/mime.types
.
Perhatikan bahwa alih-alih mengedit /etc/mime.types
, cara yang disarankan untuk menambahkan pemetaan tipe MIME ke Server HTTP Apache adalah dengan menggunakan direktif AddType
.
TypesConfig /etc/mime.types
-
UseCanonicalName
-
UseCanonicalName
memungkinkan Anda menentukan cara server merujuk pada dirinya sendiri. Ini mengambil bentuk berikut:
UseCanonicalName option
option harus berupa kata kunci yang valid seperti yang dijelaskan dalam Opsi UseCanonicalName yang tersedia. Opsi baku adalah Off
.
Opsi | Deskripsi |
---|---|
|
Memungkinkan penggunaan nama yang ditentukan oleh direktif |
|
Menonaktifkan penggunaan nama yang ditentukan oleh direktif |
|
Menonaktifkan penggunaan nama yang ditentukan oleh direktif |
UseCanonicalName Off
-
User
-
Direktif
User
memungkinkan Anda untuk menentukan pengguna di mana layananhttpd
akan berjalan. Ini mengambil bentuk berikut:
User user
user harus berupa pengguna UNIX yang ada. Opsi baku adalah apache
.
Untuk alasan keamanan, layanan httpd
tidak boleh dijalankan dengan hak istimewa root
. Perhatikan bahwa User
tidak lagi didukung di dalam <VirtualHost>
, dan telah digantikan oleh direktif SuexecUserGroup
.
User apache
-
UserDir
-
Direktif [option]
UserDir
memungkinkan Anda untuk mengaktifkan penayangan konten dari direktori beranda pengguna. Ini mengambil bentuk berikut:
UserDir option
option dapat berupa nama direktori yang harus dicari di direktori home pengguna (biasanya public_html
), atau kata kunci yang valid seperti yang dijelaskan dalam Opsi UserDir yang tersedia. Opsi baku adalah disabled
.
Opsi | Deskripsi |
---|---|
|
Memungkinkan penayangan konten dari direktori rumah dari user yang diberikan. |
|
Menonaktifkan penayangan konten dari direktori rumah, baik untuk semua pengguna, atau, jika daftar user yang dipisah spasi disediakan, hanya untuk pengguna tertentu. |
Mengatur izin yang benar
Agar server web dapat mengakses konten, izin pada direktori dan berkas yang relevan harus diatur dengan benar. Pastikan bahwa semua pengguna dapat mengakses direktori home, dan bahwa mereka dapat mengakses dan membaca konten direktori yang ditentukan oleh direktif ~]# chmod a+x /home/joe/ ~]# chmod a+rx /home/joe/public_html/ Semua berkas dalam direktori ini harus diatur sesuai dengan itu. |
UserDir public_html
Direktif ssl.conf umum
Direktif Secure Sockets Layer (SSL) memungkinkan Anda untuk menyesuaikan perilaku Server Aman HTTP Apache, dan dalam banyak kasus, mereka dikonfigurasi dengan tepat selama instalasi. Berhati-hatilah saat mengubah pengaturan ini, karena konfigurasi yang salah dapat menyebabkan kerentanan keamanan. Direktif berikut biasanya digunakan dalam /etc/httpd/conf.d/ssl.conf
:
-
SetEnvIf
-
Direktif
SetEnvIf
memungkinkan Anda untuk mengatur variabel lingkungan berdasarkan header koneksi yang masuk. Ini mengambil bentuk berikut:
SetEnvIf option pattern !variable=value…
option dapat berupa bidang header HTTP, nama variabel lingkungan yang ditentukan sebelumnya, atau kata kunci yang valid seperti yang dijelaskan dalam Opsi SetEnvIf yang tersedia. pattern adalah ekspresi biasa. variable adalah variabel lingkungan yang diatur ketika opsi cocok dengan pola. Jika tanda seru opsional (yaitu, !
) ada, variabel akan dihapus alih-alih diatur.
Opsi | Deskripsi |
---|---|
|
Mengacu pada nama host klien. |
|
Mengacu pada alamat IP klien. |
|
Mengacu pada alamat IP server. |
|
Mengacu pada metode permintaan (misalnya, |
|
Mengacu pada nama dan versi protokol (misalnya, |
|
Mengacu pada sumber daya yang diminta. |
Direktif SetEnvIf
digunakan untuk menonaktifkan keepalive HTTP, dan untuk memungkinkan SSL menutup koneksi tanpa pemberitahuan penutupan dari peramban klien. Ini diperlukan untuk peramban web tertentu yang tidak andal mematikan koneksi SSL.
SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0
Perhatikan bahwa agar berkas /etc/httpd/conf.d/ssl.conf
ada, mod_ssl perlu dipasang. Lihat Menyiapkan Server SSL untuk informasi lebih lanjut tentang cara memasang dan mengonfigurasi server SSL.
Direktif Multi-Processing Module Umum
Direktif Multi-Processing Module (MPM) memungkinkan Anda menyesuaikan perilaku kumpulan server khusus MPM tertentu. Karena karakteristiknya berbeda tergantung pada MPM mana yang digunakan, direktif tertanam dalam IfModule
. Secara baku, kumpulan server didefinisikan untuk MPM prefork
dan worker
. Direktif MPM berikut biasanya digunakan dalam /etc/httpd/conf/httpd.conf
:
-
MaxClients
-
Direktif
MaxClients
memungkinkan Anda menentukan jumlah maksimum klien yang terhubung secara bersamaan untuk diproses pada satu waktu. Ini mengambil bentuk berikut:
MaxClients number
number yang tinggi dapat meningkatkan kinerja server, meskipun tidak disarankan untuk melebihi 256
saat menggunakan MPM prefork
.
MaxClients 256
-
MaxRequestsPerChild
-
Direktif
MaxRequestsPerChild
memungkinkan Anda menentukan jumlah maksimum permintaan yang dapat dilayani oleh proses turunan sebelum mati. Ini mengambil bentuk berikut:
MaxRequestsPerChild number
Mengatur number ke 0
memungkinkan jumlah permintaan yang tidak terbatas.
Direktif [option] MaxRequestsPerChild
digunakan untuk mencegah proses berumur panjang menyebabkan kebocoran memori.
MaxRequestsPerChild 4000
-
MaxSpareServers
-
Direktif
MaxSpareServers
memungkinkan Anda menentukan jumlah maksimum proses anak cadangan. Ini mengambil bentuk berikut:
MaxSpareServers number
Direktif ini hanya digunakan oleh MPM prefork
.
MaxSpareServers 20
-
MaxSpareThreads
-
Direktif
MaxSpareThreads
memungkinkan Anda menentukan jumlah maksimum utas server cadangan. Ini mengambil bentuk berikut:
MaxSpareThreads number
number harus lebih besar dari atau sama dengan jumlah MinSpareThreads
dan ThreadsPerChild
. Direktif ini hanya digunakan oleh MPM worker
.
MaxSpareThreads 75
-
MinSpareServers
-
MinSpareServers
direktif memungkinkan Anda untuk menentukan jumlah minimum proses anak cadangan. Ini mengambil bentuk berikut:
MinSpareServers number
Perhatikan bahwa number yang tinggi dapat membuat beban pemrosesan yang berat di server. Direktif ini hanya digunakan oleh MPM prefork
.
MinSpareServers 5
-
MinSpareThreads
-
Direktif
MinSpareThreads
memungkinkan Anda menentukan jumlah minimum thread server cadangan. Ini mengambil bentuk berikut:
MinSpareThreads number
Direktif ini hanya digunakan oleh MPM worker
.
MinSpareThreads 75
-
StartServers
-
Direktif
StartServers
memungkinkan Anda menentukan jumlah proses anak yang akan dibuat saat layanan dimulai. Ini mengambil bentuk berikut:
StartServers number
Karena proses anak dibuat dan dihentikan secara dinamis sesuai dengan beban lalu lintas saat ini, biasanya tidak perlu mengubah nilai ini.
StartServers 8
-
ThreadsPerChild
-
Direktif
ThreadsPerChild
memungkinkan Anda menentukan jumlah thread yang dapat dibuat oleh proses anak. Ini mengambil bentuk berikut:
ThreadsPerChild number
Direktif ini hanya digunakan oleh MPM worker
.
ThreadsPerChild 25
Bekerja dengan Modul
Karena merupakan aplikasi modular, layanan httpd
didistribusikan bersama dengan sejumlah Dynamic Shared Objects (DSOs), yang dapat dimuat atau dibongkar secara dinamis saat runtime seperlunya. Secara baku, modul-modul ini terletak di /usr/lib/httpd/modules/
pada 32-bit dan di /usr/lib64/httpd/modules/
pada sistem 64-bit.
Memuat Modul
Untuk memuat modul DSO tertentu, gunakan direktif LoadModule
seperti yang dijelaskan dalam Direktif httpd.conf Unun. Perhatikan bahwa modul yang disediakan oleh paket terpisah sering kali memiliki berkas konfigurasi sendiri di direktori /etc/httpd/conf.d/
.
LoadModule ssl_module modules/mod_ssl.so
Setelah Anda selesai, restart server web untuk memuat ulang konfigurasi. Lihat Memulai Ulang Layanan untuk informasi lebih lanjut tentang cara memulai ulang layanan httpd
.
Menulis Modul
Jika Anda bermaksud membuat modul DSO baru, pastikan Anda telah memasang paket httpd-devel. Untuk melakukannya, berikan perintah berikut sebagai root
:
~]# dnf install httpd-devel
Paket ini berisi berkas include, berkas header, dan utilitas APache eXtenSion (apxs) yang diperlukan untuk mengkompilasi modul.
Setelah ditulis, Anda dapat membuat modul dengan perintah berikut:
~]# apxs -i -a -c module_name.c
Jika build berhasil, Anda harus dapat memuat modul dengan cara yang sama seperti modul lain yang didistribusikan dengan Server HTTP Apache.
Menyiapkan Host Virtual
Hosting virtual bawaan Server HTTP Apache memungkinkan server untuk memberikan informasi yang berbeda berdasarkan alamat IP, nama host, atau port mana yang diminta.
Untuk membuat host virtual berbasis nama, salin contoh berkas konfigurasi /usr/share/doc/httpd-VERSION/httpd-vhosts.conf
ke direktori /etc/httpd/conf.d/
, dan ganti nilai placeholder @@Port@@
dan @@ServerRoot@@
. Sesuaikan opsi sesuai dengan kebutuhan Anda seperti yang ditunjukkan dalam Contoh konfigurasi host virtual.
<VirtualHost *:80> ServerAdmin webmaster@penguin.example.com DocumentRoot "/www/docs/penguin.example.com" ServerName penguin.example.com ServerAlias www.penguin.example.com ErrorLog "/var/log/httpd/dummy-host.example.com-error_log" CustomLog "/var/log/httpd/dummy-host.example.com-access_log" common </VirtualHost>
Perhatikan bahwa ServerName
harus berupa nama DNS yang valid yang ditetapkan ke komputer. Kontainer <VirtualHost>
sangat dapat disesuaikan, dan menerima sebagian besar direktif yang tersedia dalam konfigurasi server utama. Direktif yang tidak didukung dalam kontainer ini termasuk User
dan Group
, yang digantikan oleh SuexecUserGroup
.
Mengubah nomor port
Jika Anda mengonfigurasi host virtual untuk mendengarkan pada port non-baku, pastikan Anda memperbarui direktif |
Untuk mengaktifkan host virtual yang baru dibuat, server web harus dimulai ulang terlebih dahulu. Lihat Memulai Ulang Layanan untuk informasi lebih lanjut tentang cara memulai ulang layanan httpd
.
Menyiapkan Server SSL
Secure Sockets Layer (SSL) adalah protokol kriptografi yang memungkinkan server dan klien untuk berkomunikasi dengan aman. Seiring dengan versi yang diperluas dan ditingkatkan yang disebut Transport Layer Security (TLS), ini memastikan privasi dan integritas data. Server HTTP Apache dalam kombinasi dengan mod_ssl
, modul yang menggunakan toolkit OpenSSL untuk menyediakan dukungan SSL/TLS, umumnya disebut sebagai SSL server.
Tidak seperti koneksi HTTP biasa yang dapat dibaca dan mungkin dimodifikasi oleh siapa saja yang dapat mencegatnya, penggunaan mod_ssl
mencegah inspeksi atau modifikasi konten yang ditransmisikan. Bagian ini menyediakan informasi dasar tentang cara mengaktifkan modul ini dalam konfigurasi Server HTTP Apache, dan memandu Anda melalui proses pembuatan kunci pribadi dan sertifikat yang ditandatangani sendiri.
Gambaran Umum Sertifikat dan Keamanan
Komunikasi yang aman didasarkan pada penggunaan kunci. Dalam kriptografi simetrik atau konvensional, kedua ujung transaksi memiliki kunci yang sama yang dapat mereka gunakan untuk memecahkan kode transmisi satu sama lain. Di sisi lain, di kriptografi asimetrik atau di publik, dua kunci hidup berdampingan: kunci privat yang dirahasiakan, dan kunci publik yang biasanya dibagikan kepada publik. Sementara data yang dikodekan dengan kunci publik hanya dapat didekodekan dengan kunci privat, data yang dikodekan dengan kunci privat pada gilirannya hanya dapat didekodekan dengan kunci publik. Untuk menyediakan komunikasi yang aman menggunakan SSL, server SSL harus menggunakan sertifikat digital yang ditandatangani oleh Certificate Authority (CA). Sertifikat mencantumkan berbagai atribut server (yaitu, nama host server, nama perusahaan, lokasinya, dll.), Dan tanda tangan yang dihasilkan menggunakan kunci privat CA. Tanda tangan ini memastikan bahwa otoritas sertifikat tertentu telah menandatangani sertifikat, dan bahwa sertifikat belum dimodifikasi dengan cara apa pun.
Ketika peramban web membuat koneksi SSL baru, ia memeriksa sertifikat yang disediakan oleh server web. Jika sertifikat tidak memiliki tanda tangan dari CA tepercaya, atau jika nama host yang tercantum dalam sertifikat tidak cocok dengan nama host yang digunakan untuk membuat koneksi, sertifikat menolak untuk berkomunikasi dengan server dan biasanya menyajikan pesan kesalahan yang sesuai kepada pengguna.
Secara baku, sebagian besar peramban web dikonfigurasi untuk mempercayai sekumpulan otoritas sertifikat yang banyak digunakan. Karena itu, CA yang sesuai harus dipilih saat menyiapkan server yang aman, sehingga pengguna target dapat mempercayai koneksi, jika tidak mereka akan disajikan dengan pesan kesalahan, dan harus menerima sertifikat secara manual. Karena mendorong pengguna untuk menimpa kesalahan sertifikat dapat memungkinkan penyerang untuk mencegat koneksi, Anda harus menggunakan CA terpercaya bila memungkinkan. Untuk informasi selengkapnya tentang ini, lihat Informasi tentang daftar CA yang digunakan oleh peramban web umum.
Peramban Web | Tautan |
---|---|
Mozilla Firefox |
|
Opera |
Informasi tentang sertifikat root yang digunakan oleh Opera. |
Internet Explorer |
Informasi tentang sertifikat root yang digunakan oleh Microsoft Windows. |
Chromium |
Informasi tentang sertifikat root yang digunakan oleh proyek Chromium. |
Saat menyiapkan server SSL, Anda perlu membuat permintaan sertifikat dan kunci privat, lalu mengirim permintaan sertifikat, bukti identitas perusahaan, dan pembayaran ke otoritas sertifikat. Setelah CA memverifikasi permintaan sertifikat dan identitas Anda, CA akan mengirimi Anda sertifikat bertanda tangan yang dapat Anda gunakan dengan server Anda. Atau, Anda dapat membuat sertifikat yang ditandatangani sendiri yang tidak berisi tanda tangan CA, dan dengan demikian harus digunakan hanya untuk tujuan pengujian.
Mengaktifkan Modul mod_ssl
Jika Anda bermaksud untuk mengatur server SSL, pastikan paket mod_ssl (modul mod_ssl
) dan openssl (toolkit OpenSSL) terpasang. Untuk melakukannya, berikan perintah berikut sebagai root
:
~]# dnf install mod_ssl openssl
Ini akan membuat berkas konfigurasi mod_ssl
di /etc/httpd/conf.d/ssl.conf
, yang termasuk dalam berkas konfigurasi Server HTTP Apache utama secara baku. Agar modul dimuat, mulai ulang layanan httpd
seperti yang dijelaskan dalam Memulai Ulang Layanan.
Karena kerentanan protokol SSL3.0 CVE-2014-3566, yang dijelaskan dalam SSL 3.0 Protocol Vulnerability and POODLE Attack, disarankan untuk menonaktifkan |
Mengaktifkan dan Menonaktifkan SSL dan TLS di mod_ssl
Untuk menonaktifkan dan mengaktifkan versi tertentu dari protokol SSL dan TLS, lakukan secara global dengan menambahkan direktif SSLProtocol di bagian "#\# SSL Global Context" pada berkas konfigurasi dan menghapusnya di tempat lain, atau sunting entri baku di bawah "\# SSL Protocol support" di semua bagian "VirtualHost". Jika Anda tidak menentukannya di bagian VirtualHost per domain maka pengaturannya akan mewarisi dari bagian global. Untuk memastikan bahwa versi protokol dinonaktifkan, administrator harus hanya menentukan SSLProtocol di bagian "SSL Global Context", atau menentukannya di semua bagian VirtualHost per domain.
Untuk menonaktifkan SSL versi 2 dan SSL versi 3, yang menyiratkan mengaktifkan semuanya kecuali SSL versi 2 dan SSL versi 3, di semua bagian VirtualHost, lanjutkan sebagai berikut:
-
Sebagai
root
, buka berkas/etc/httpd/conf.d/ssl.conf
dan cari semua contoh dari direktif SSLProtocol. Secara baku, berkas konfigurasi berisi satu bagian yang terlihat sebagai berikut:
~]# vi /etc/httpd/conf.d/ssl.conf # SSL Protocol support: # List the enable protocol levels with which clients will be able to # connect. Disable SSLv2 access by default: SSLProtocol all -SSLv2
Bagian ini berada di dalam bagian VirtualHost.
-
Sunting baris SSLProtocol sebagai berikut:
# SSL Protocol support: # List the enable protocol levels with which clients will be able to # connect. Disable SSLv2 access by default: SSLProtocol All -SSLv2 -SSLv3
Ulangi tindakan ini untuk semua bagian VirtualHost.
-
Verifikasikan bahwa semua kemunculan direktif SSLProtocol telah diubah sebagai berikut:
~]# grep SSLProtocol /etc/httpd/conf.d/ssl.conf SSLProtocol all -SSLv2 -SSLv3
Langkah ini sangat penting jika Anda memiliki lebih dari satu bagian VirtualHost baku.
-
Restart the Apache daemon as follows:
~]# service httpd restart
Perhatikan bahwa setiap sesi akan diinterupsi.
Menggunakan Kunci dan Sertifikat yang Ada
Jika Anda memiliki kunci dan sertifikat yang dibuat sebelumnya, Anda dapat mengonfigurasi server SSL untuk menggunakan berkas-berkas ini alih-alih menghasilkan yang baru. Hanya ada dua situasi di mana ini tidak mungkin:
-
Anda mengubah alamat IP atau nama domain.
Sertifikat dikeluarkan untuk alamat IP dan pasangan nama domain tertentu. Jika salah satu nilai ini berubah, sertifikat berupa tidak valid.
-
Anda memiliki sertifikat dari VeriSign, dan Anda mengubah perangkat lunak server.
VeriSign, otoritas sertifikat yang banyak digunakan, mengeluarkan sertifikat untuk produk perangkat lunak tertentu, alamat IP, dan nama domain. Mengubah produk perangkat lunak membuat sertifikat tidak valid.
In either of the above cases, you will need to obtain a new certificate. For more information on this topic, see Generating a New Key and Certificate.
Jika Anda ingin menggunakan kunci dan sertifikat yang ada, pindahkan berkas yang relevan masing-masing ke direktori /etc/pki/tls/private/
dan /etc/pki/tls/certs/
. Anda dapat melakukannya dengan memberikan perintah berikut sebagai root
:
~]# mvkey_file.key
/etc/pki/tls/private/hostname.key
~]# mvcertificate.crt
/etc/pki/tls/certs/hostname.crt
Kemudian tambahkan baris berikut ke berkas konfigurasi /etc/httpd/conf.d/ssl.conf
:
SSLCertificateFile /etc/pki/tls/certs/hostname.crt SSLCertificateKeyFile /etc/pki/tls/private/hostname.key
Untuk memuat konfigurasi yang diperbarui, mulai ulang layanan httpd
seperti yang dijelaskan dalam Memulai Ulang Layanan.
~]# mv /etc/httpd/conf/httpsd.key /etc/pki/tls/private/penguin.example.com.key ~]# mv /etc/httpd/conf/httpsd.crt /etc/pki/tls/certs/penguin.example.com.crt
Generating a New Key and Certificate
In order to generate a new key and certificate pair, the crypto-utils package must be installed on the system. To install it, enter the following command as root
:
~]# dnf install crypto-utils
This package provides a set of tools to generate and manage SSL certificates and private keys, and includes genkey, the Red Hat Keypair Generation utility that will guide you through the key generation process.
Replacing an existing certificate
If the server already has a valid certificate and you are replacing it with a new one, specify a different serial number. This ensures that client browsers are notified of this change, update to this new certificate as expected, and do not fail to access the page. To create a new certificate with a custom serial number, use the following command instead of genkey: ~]# openssl req -x509 -new -set_serial number -key hostname.key -out hostname.crt |
Remove a previously created key
If there already is a key file for a particular host name in your system, genkey will refuse to start. In this case, remove the existing file using the following command as ~]# rm /etc/pki/tls/private/hostname.key |
To run the utility enter the genkey command as root
, followed by the appropriate host name (for example, penguin.example.com
):
~]# genkey hostname
To complete the key and certificate creation, take the following steps:
-
Review the target locations in which the key and certificate will be stored.
Use the Tab key to select the Next button, and press Enter to proceed to the next screen.
-
Using the up and down arrow keys, select a suitable key size. Note that while a larger key increases the security, it also increases the response time of your server. The NIST recommends using
2048 bits
. See NIST Special Publication 800-131A Revision 1.
Once finished, use the Tab key to select the Next button, and press Enter to initiate the random bits generation process. Depending on the selected key size, this may take some time.
-
Decide whether you want to send a certificate request to a certificate authority.
Use the Tab key to select Yes to compose a certificate request, or No to generate a self-signed certificate. Then press Enter to confirm your choice.
-
Using the Spacebar key, enable (
[*]
) or disable ([ ]
) the encryption of the private key.
Use the Tab key to select the Next button, and press Enter to proceed to the next screen.
-
If you have enabled the private key encryption, enter an adequate passphrase. Note that for security reasons, it is not displayed as you type, and it must be at least five characters long.
Use the Tab key to select the Next button, and press Enter to proceed to the next screen.
Do not forget the passphrase
Entering the correct passphrase is required in order for the server to start. If you lose it, you will need to generate a new key and certificate. |
-
Customize the certificate details.
Use the Tab key to select the Next button, and press Enter to finish the key generation.
-
If you have previously enabled the certificate request generation, you will be prompted to send it to a certificate authority.
Press Enter to return to a shell prompt.
Once generated, add the key and certificate locations to the /etc/httpd/conf.d/ssl.conf
configuration file:
SSLCertificateFile /etc/pki/tls/certs/hostname.crt SSLCertificateKeyFile /etc/pki/tls/private/hostname.key
Finally, restart the httpd
service as described in Restarting the Service, so that the updated configuration is loaded.
Sumber Daya Tambahan
Untuk mempelajari selengkapnya tentang Server HTTP Apache, lihat sumber daya berikut ini.
-
httpd(8)
— Halaman manual untuk layananhttpd
yang berisi daftar lengkap opsi baris perintahnya. -
genkey(1)
— The manual page for genkey utility, provided by the crypto-utils package. -
apachectl(8)
— Halaman manual untuk Antarmuka Kontrol Server HTTP Apache.
-
http://localhost/manual/ — Dokumentasi resmi untuk Server HTTP Apache dengan deskripsi lengkap tentang direktif dan modul yang tersedia. Perhatikan bahwa untuk mengakses dokumentasi ini, Anda harus memasang paket httpd-manual, dan server web harus berjalan.
Sebelum mengakses dokumentasi, berikan perintah berikut sebagai root
:
~]# dnf install httpd-manual ~]# apachectl graceful
-
https://httpd.apache.org/ — Situs web resmi untuk Server HTTP Apache dengan dokumentasi tentang semua direktif dan modul baku.
-
http://www.modssl.org/ — Situs web resmi untuk modul mod_ssl.
-
https://www.openssl.org/ — Halaman beranda OpenSSL yang berisi dokumentasi lebih lanjut, pertanyaan yang sering diajukan, tautan ke milis, dan sumber daya berguna lainnya.
Want to help? Learn how to contribute to Fedora Docs ›