ubuntu LTS下搭建Apache服务

安装Apache

安装Apache2,中间有确认环节

sudo apt-get install apache2

用浏览器访问localhost,如成功访问,则apache服务已安装并开启

转到Apache2的主配置文件

sudo /etc/apache2/apache2.conf

可以看到文件中列出的Apache2配置文件目录结构,并且有详细的注释

/etc/apache2/
|-- apache2.conf 主配置文件,这个文件include以下所有的文件,*是通配符
|------ `ports.conf 配置Apache监听端口,一般无需修改
|-- mods-enabled 各种module的load和config文件
|        |-- *.load
|        `-- *.conf
|-- conf-enabled
|        `-- *.conf
`-- sites-enabled 配置访问端口

apache2.conf本身的各项参数几乎无需配置。我们再来看下apache2的目录结构

apache目录结构.png

其中 mods-available低下存放了所有可用的module,想要使用这些module的时候,只需将相应的 confload文件copy到 mods-enabled地下即可,不用再去 apache2.conf中做额外配置。对 sites-enabled同理

配置SSL(HTTPS访问)

安装OPENSSL

ubuntu默认已经安装了OPENSSL,如果没安装

sudo apt-get install openssl

从CA机构获取签名证书

关于CA证书的获取,请参考Ubuntu下配置Apache HTTPS

生成此证书,需要向第三方提交一个“生成证书请求文件(CSR)”,生成这个CSR需要两步:

  • 生成私钥KEY
  • 生成请求CSR
生成私钥
# des3表示使用该私钥时需要密码
# 1024是私钥的长度
# 生成一个名为server.key的私钥
openssl genrsa 1024 -out server.key

系统会提示输入加密密码,此后使用该私钥都需要该密码。输入两次密码后,将会生成server.key私钥文件。

生成CSR请求文件

运行如下命令,将server.key传给第三发CA机构,签发CSR证书

openssl req -new -key server.key -out server.csr

配置443端口访问

443端口也就是SSL默认的端口。

配置ports.conf监听443端口(默认应该是配置好的)

Listen 443

转到sites-available下,可以看到有个default-ssl.conf文件,将其copy到sites-enabled下。

sites-enabled下可以看到一个默认配置文件000-default.conf,这个文件定义了80端口下的DocumentRoot等信息。我们要修改default-ssl.conf文件,定义43端口下SSL相关的信息

配置001-ssl.conf文件,找到以下配置行并修改配置

# 443端口的配置


# 网站管理员信息
ServerAdmin [email protected]

# 443端口根目录
DocumentRoot /var/www/html

# SSL证书
SSLEngine On
SSLOptions +StrictRequire  
SSLCertificateFile /etc/ssl/certs/2_www.domain.com_cert.crt
SSLCertificateKeyFile /etc/ssl/certs/3_www.domain.com.key
SSLCertificateChainFile /etc/ssl/certs/1_root_bundle.crt 

配置Apache加载SSL模块

根据Apache配置目录结构,所有扩展模块的conf和load都放在mods-enable文件夹中。我们只需将mods-available文件夹中的ssl.confssl.load文件copy到mods-enable中即可

在浏览器中访问https://localhost,如能成功访问,则说明SSL配置成功

配置Apache解析PHP

apache2.conf中配置以下选项

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

查看mods-enabled目录下,是否有php7.0.loadphp7.0.conf文件,如果没有这两个文件,则需参考ubuntu LTS下搭建PHP,为PHP配置Apache扩展。

你可能感兴趣的:(ubuntu LTS下搭建Apache服务)