ubuntu apache 访问,centos7启动apache命令
大家好,今天来为大家分享ubuntu apache 访问的一些知识点,和centos7启动apache命令的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
Ubuntu下安装和配置apache2并启用https
Apache2是一个广为应用的开源HTTP代理服务,本文将指导你如何在Ubuntu下安装并配置Apache2,实现HTTPS功能。安装和配置步骤如下:
首先,通过运行以下命令安装Apache2:
bash
sudo apt-get update
sudo apt-get install apache2
随后,在防火墙中放行80端口,以确保Apache2能够正常运行:
bash
sudo ufw allow 80
接下来,测试默认网站,访问 ,正常情况下应显示Apache2的欢迎页面。
为了配置Apache2部署网站,请参考其目录结构并创建虚拟主机配置文件:
创建文件 `service.conf`在 `/etc/apache2/sites-available/`目录下,并在其中添加以下配置:
bash
ServerName service.example.com
DocumentRoot/var/www/service.example.com/public_html
var/www/service.example.com/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
保存文件并重启Apache2:
bash
sudo a2ensite service.conf
sudo systemctl restart apache2
启用HTTPS,需先启用SSL模块,然后添加SSL证书,通常通过Let's Encrypt免费获取。
启用SSL模块并重启Apache2:
bash
sudo a2enmod ssl
sudo systemctl restart apache2
检查 `ports.conf`文件中是否已监听443端口,如未监听,添加 `Listen 443 https`并重启Apache2。
配置虚拟主机监听HTTPS:
bash
ServerName service.example.com
DocumentRoot/var/www/service.example.com/public_html
var/www/service.example.com/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
SSLEngine on
SSLCertificateFile/etc/letsencrypt/live/service.example.com/fullchain.pem
SSLCertificateKeyFile/etc/letsencrypt/live/service.example.com/privkey.pem
保存文件并重启Apache2:
bash
sudo systemctl restart apache2
在防火墙中放行443端口:
bash
sudo ufw allow 443
现在,可通过 访问服务。
此文章涵盖了Apache2在Ubuntu下的安装、配置和HTTPS启用过程。常用命令包括服务状态切换、虚拟主机配置启用、模块启用等。
如何在Ubuntu上搭建一台安全的Apache Web服务器
本教程假设你已有一台在运行的Ubuntu服务器,网络方面已设置好,而且可以通过SSH进行访问。
Apache2是许多安装的Linux发行版使用的默认Web服务器。它不是对所有环境来说唯一可用的Web服务器,也不是最佳的Web服务器,但是它适合许多使用场景。在安装过程中,系统可能会询问你哪个Web服务器要自动重新配置。选择“apache2”即可。
安装Apache2
使用下面这个命令,安装Apache2及其他库。
$ sudo apt-get-y install apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt libapache2-mod-suphp libopenssl-ruby libapache2-mod-ruby
更新时区(TimeZone)和检查正确时间
为了减小共享数据或镜像数据方面的混淆,所有服务器在运行时都应该尽可能接近同步状态。一些加密密钥管理系统需要准确的时间。最后,就企业服务器而言,《萨班斯-奥克斯利法案》(Sarbanes-Oxley)和《健康保险可携性及责任性法案》(HIPAA)的安全规则要求正确的时间戳机制。
$ sudo apt-get-y install openntpd tzdata
$ sudo dpkg-reconfigure tzdata
$ sudo service openntpd restart
禁止AppArmor冲突
虽然AppArmor这个套件的确提供了一层额外的安全,但在我看来,需要为每个系统创建自定义配置文件。这不是本教程所探讨的内容。所以眼下,我们会禁用AppArmor,防止与任何默认的配置发生冲突。
$ sudo/etc/init.d/apparmor stop
$ sudo update-rc.d-f apparmor remove
$ sudo apt-get remove apparmor apparmor-utils
注意:如果是生产环境下的Web服务器,不建议禁用AppArmor。如果有些人想创建自定义的AppArmor配置文件,请参阅官方说明文档()。
阻止分布式拒绝服务(DDoS)攻击
DDoS攻击是一种分布式拒绝服务攻击。有一个Apache模块可以阻止这类攻击。
$ sudo apt-get-y install libapache2-mod-evasive
$ sudo mkdir-p/var/log/apache2/evasive
$ sudo chown-R www-data:root/var/log/apache2/evasive
把下面这个命令添加到mod-evasive.load的末尾处。
$ sudo nano/etc/apache2/mods-available/mod-evasive.load DOSHashTableSize 2048
DOSPageCount 20#请求同一页面的最大数量
DOSSiteCount 300#同一侦听器上同一客户端IP请求任何对象的总数量
DOSPageInterval 1.0#页面数量阈值的间隔
DOSSiteInterval 1.0#站点数量阈值的间隔
DOSBlockingPeriod 10.0#客户机IP被阻止的时间段
DOSLogDir“/var/log/apache2/evasive”
DOSEmailNotify admin@domain.com
阻止Slowloris攻击
还有一个Apache模块可以阻止Slowloris攻击,不过模块名称取决于你使用的Ubuntu的具体版本。如果是Ubuntu 12.10或以后版本:
$ sudo apt-get-y install libapache2-mod-qos
然后,检查qos.conf中的配置:
$ sudo nano/etc/apache2/mods-available/qos.conf
##服务质量方面的设置
#处理来自多达100000个不同IP的连接
QS_ClientEntries 100000
#只允许每个IP仅50条连接
QS_SrvMaxConnPerIP 50
#活动TCP连接的最大数量限制在256条
MaxClients 256
#当70%的TCP连接被占用时,禁用保持活动连接状态
QS_SrvMaxConnClose 180
#最小请求/响应速度(拒绝阻塞服务器的慢速客户端,即slowloris保持连接开启,不提出任何请求):
QS_SrvMinDataRate 150 1200
#并限制请求标题和主体(注意,这还限制了上传和发帖请求):
# LimitRequestFields 30
# QS_LimitRequestBody 102400
注意:如果你运行12.04之前的Ubuntu版本,改而使用下面这个命令:
$ sudo apt-get-y install libapache2-mod-antiloris
检查antiloris.conf中的配置
$ sudo nano/etc/apache2/mods-available/antiloris.conf
#每个IP地址处于READ状态的最大并行连接数量
IPReadLimit 5
阻止DNS注入攻击
Spamhaus这个模块使用域名系统黑名单(DNSBL),目的是为了阻止通过Web表单实现的垃圾邮件转发,防止URL注入攻击,阻止来自机器人程序的http DDoS攻击,通常保护服务器,远离已知的恶意IP地址。
$ sudo apt-get-y install libapache2-mod-spamhaus
$ sudo touch/etc/spamhaus.wl Append the config to apache2.conf
$ sudo nano/etc/apache2/apache2.conf
MS_METHODS POST,PUT,OPTIONS,CONNECT
MS_WhiteList/etc/spamhaus.wl
MS_CacheSize 256
重启Apache装入新模块
$ sudo service apache2 restart
现在Web服务器已安装完毕,并在正常运行。将Web浏览器指向你的域,即可看到证明你一切正常的默认消息。作为最后的检查机制,运行下面这个命令,看看你的服务器有没有任何错误信息。要是有错误信息,你需要上谷歌搜索一下,立马解决这些错误。
$ sudo tail-200/var/log/syslog
ubuntu怎么安装apache
安装apache,在命令行终端中输入一下命令:
$ sudo apt-get install apache2
安装完成后,重启apache服务,在命令行终端中输入一下命令:
$ sudo/etc/init.d/apache2 restart
可能会出现的问题1: NameVirtualHost*:80 has no VirtualHosts,如下截图
出现上述问题的原因:定义了多个NameVirtualHost,故将/etc/apache2/ports.conf中的NameVirtualHost*:80注释掉即可。
可能会出现的问题2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
原因:
根据提示,无法可靠的确定服务器的有效域名,使用127.0.1.1作为服务器域名。应此,在下面的测试中,应该使用127.0.1.1,而不是127.0.0.1!
解决:
$ vim/etc/apache2/httpd.conf,在文件中添加:
ServerName localhost:80,再次重启apache2,就可以使用127.0.0.1来访问web服务器啦!
测试:
在浏览器里输入或者是,如果看到了It
works!,那就说明Apache就成功的安装了,Apache的默认安装,会在/var下建立一个名为www的目录,这个就是Web目录了,所有要能过浏览器访问的Web文件都要放到这个目录里。
测试过程中可能遇到问题:
原因:apache2使用的服务器地址不是127.0.0.1,根据在前面的分析,可能的ip为127.0.1.1,访问http://127.0.1.1即可。
如果觉得不再需要apache了,可以将它卸载:
1.删除apache
在命令行中输入:
$ sudo apt-get--purge remove apache-common
$ sudo apt-get--purge remove apache
2.找到没有删除掉的配置文件,一并删除
代码:
$ sudo find/etc-name"*apache*"|xargs rm-rf
$ sudo rm-rf/var/www
$sudo rm-rf/etc/libapache2-mod-jk
3.删除关联,这样就可以再次用apt-get install apache2重装了
#dpkg-l|grep apache2|awk'{print$2}'|xargs dpkg-P