① 如何在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配置文件,请参阅官方说明文档(http://wiki.apparmor.net/index.php/Documentation)。
阻止分布式拒绝服务(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 [email protected]
阻止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
② 如何用nginx在ubuntu下搭建web服务器
1.开始说明
首先需要跟大家说明一下,这个教程中使用的IP地址是192.168.0.23,主机名称为Server1.example.com这些设置可能会有所不同,你需要根据不同情况进行修改。
2安装Apache2
2.切换管理员身份
在Ubuntu中需要用root身份进行操作,所以用下面的命令确保以root身份登录:
sudo su
3.开始安装Mysql5
apt-get install mysql-server mysql-client
你将被要求提供一个MySQL的root用户的密码,我们需要在红色区域设置密码。
New password for the MySQL "root" user: <-- yourrootsqlpassword
Repeat password for the MySQL "root" user: <-- yourrootsqlpassword
4.安装Apache2
Apache2的是作为一个Ubuntu的软件包,因此我们可以直接用下面命令安装它:
apt-get install apache2
5.安装PHP5
我们可以直接安装PHP5和Apache的PHP5的模块,如下:
apt-get install php5 libapache2-mod-php5
安装完需要重启
/etc/init.d/apache2 restart
6.测试的PHP5并获取PHP5安装的详细信息:
默认网站的文件根目录是在/var/www下中。现在我们将在该目录中创建一个小型PHP文件(info.php的)在浏览器中调用它。该文件将显示很多关于我们的PHP安装,如安装的PHP版本和有用的一些细节。
7.PHP5获得MySOL的支持
让PHP在MySQL中获得支持,我们可以安装的php-mysql软件包。安装一些其他的PHP5模块,以及您可能需要的应用程序,这是一个好主意:
apt-cache search php5
还安装需要安装的
apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
现在重新启动Apache2的:
/etc/init.d/apache2 restart
8.安装phpMyAdmin
phpMyAdmin是一个网络接口,通过它可以管理你的MySQL数据库。
apt-get install phpmyadmin
你会看到以下问题:
Web server to reconfigure automatically: <-- apache2
Configure database for phpmyadmin with dbconfig-common? <-- No
③ ubuntu怎么做web服务器
第一步,我们在Ubuntu下搭建LAMP环境,首先,安装apache:
sudo apt-get install apache2 apache2-doc
测试apache2正常工作:
接下来是安装mysql:
sudo apt-get install mysql-server
sudo apt-get install mysql-client
安装mysql的时候会提醒设置root账户的密码
,需要注意他和你的登录账户密码是没有什么联系的。
接下来是php的安装:
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5 //安装apache服务支持php模块
安装配置完一些东西我们都是需要重启apache生效。
有的人会说命令是:
sudo service apache2 restart
当你输入这条命令提示错误的时候,也不要奇怪,你可试试这个命令
,一样的含义,但是只是方式不通而已。
这里我们需要知道,我们选择的都是静默安装,就类似于windows系统下开启某些本身带有的服务一样,所以我们要知道他的路径以及配置文件在哪里。
接下来就是web网页一些东西的上传和搭建,和昨天windows下安装dede的步骤几乎是大同小异的,还是要注意读写权限的问题,还有就是数据库的密码不像上一篇讲的那样是空的,密码就是你安装mysql设置的那一个。
我看到别人写的好多关于搭建这些环境的步骤和教程,觉得有好多自己不懂的模块只是单纯的按照人家的来操做完成,到底是个什么东西,起了什么作用,我不是很懂,应该说是我不懂,所以我用上面的几个步骤搞定了,可以做到打开网页,尽管使用的还是别人的模版,
我想说的是如果出了什么错之后再进行apt-get install ***比较好,最起码自己知道了那是个什么东西影响到了哪一步。
那么,问题来了
问题一:
之后,我们执行安装GD库的命令,解决问题,成功!
apt-get install php5_gd
问题二:
你不觉得命令里面老是有sudo这个东西让人用着很麻烦吗?
所以,我们最好在一开始的时候使用切换到root账户或者设置使用root登录:
sudo passwd root //默认没有root账户密码,此命令就是设置root密码
su //切换root用户命令
更好的办法是在开机的时候,用户登录那一块就用root登录,这样就省去了太多的麻烦。
问题三:
我们需要权限,在windows下是这样,在linux下更是这样,在搭建web网站的时候,你测试127.0.0.1很有可能被错误提示forbidden掉。
不要怕,这就是明显的权限问题,提权命令直接提到最高比较好:
chmod -R 777 你要提权的文档路径(比如:chmod -R 777 /var/www/)
差不多就是这样,结束。
④ ubuntu 16.04怎样安装web服务器
1.开始说明
本文Ubuntu 16.04下搭建Web服务器(MySQL+PHP+Apache)的内容很多可能参照网上前辈的,但有所改进吧。这些设置可能会有所不同,你需要根据不同情况进行修改。
安装apache2
2.切换管理员身份
在ubuntu中需要用root身份进行操作,所以用下面的命令确保以root身份登录:
sudo su
3.开始安装mysql5
apt-get install mysql-server mysql-client
你将被要求提供一个mysql的root用户的密码,我们需要在红色区域设置密码。
new password for the mysql root user: repeat password for the mysql root user:
4.安装apache2
apache2的是作为一个ubuntu的软件包,因此我们可以直接用下面命令安装它:
⑤ 怎样用vnc在ubuntu系统下在阿里云服务器上配置web服务器
一、在阿里云服务器中设置远程连接
1、阿里云服务器后台配置图,使用的是Ubuntu操作系统
2、设置远程连接
3、点击Ubuntu轻量应用服务器卡片的远程连接按钮,连接服务器
4、切换root用户,连接成功后开始安装软件。
二、VNC的安装与配置
1、安装之前先输入:apt-get update 获取最新套件的信息。
2、输入以下命令安装VNC(这里我已经安装过,显示版本信息)apt-get install vnc4server
3、启动VNC:vncserver
IIS7服务器管理工具可以批量管理、定时上传下载、同步操作、数据备份、到期提醒、自动更新。IIS7服务器管理工具适用于Windows操作系统和liunx操作系统;支持Vnc客户端和Ftp客户端批量操作。
⑥ ubuntu 怎么搭建web服务器
一条命令可以让你在ubuntu上很方便地安装web服务器
sudotaskselinstalllamp-server
用这个可以一次安装好apache+php+mysql
再两条命令让你安装上phpmyadmin,让你方便地管理mysql数据库:
sudoapt-getinstallphpmyadmin
sudoln-s/usr/share/phpmyadmin//var/www/html
⑦ 如何在Ubuntu上搭建安全的Apache Web服务器
1.安装Apache2
使用下面这个命令,安装Apache2及其他库。
1
$ 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
2.阻止分布式拒绝服务(DDoS)攻击
$ 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 [email protected]
3.阻止DNS注入攻击
$ 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
⑧ ubuntu系统 下怎么样搭建 DNS服务器怎么样搭建Web服务器DHCP急求...
UBUNTU 安装PHP
考虑到前不久在这儿测试Wordpress主题的惨痛经历,俺决定自己建一个web平台来先在本机测试
本来想在openSUSE中安装,但想想apt- get这几键俺按得比较多,就先在Ubuntu中下手
按照 Unofficial Ubuntu 6.06 (Dapper Drake) Linux Starter Guide的步骤来
一、安装Apache2
sudo apt-get install apache2
然后在Firefox中打开:
http://localhost/
提示成功
二、安装PHP5
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5(根据俺的实际测试,这一步似乎不用做了,在上一步已经安装好了,不过还是建议你/paste一下这条命令)
sudo /etc/init.d/apache2 restart
测试PHP5是否安装成功
sudo gedit /var/www/testphp.php
在里面写入
然后在Firefox中打开:
http://localhost/testphp.php
应该能看到下面的画面,很长的,俺截了一下
php5.png
看完后把testphp.php删掉,可能会有安全风险
三、安装MySql
sudo apt-get install mysql-server
MySql 初始只允许本机(127.0.0.1)连接,如果想多台机子使用或者向Internet开放的话,编辑/etc/mysql/my.cnf
sudo gedit /etc/mysql/my.cnf
找到
bind-address = 127.0.0.1
用#注释掉,象这样
#bind-address = 127.0.0.1
MySql 默认没有设置root密码,本机的root用户也没有密码,有风险是吧,这样
mysqladmin -u root password your-new-password
mysqladmin -h root@local-machine-name -u root -p password your-new-password(这里我怎么也连接不上mysql服务器,最后在mysql-admin里面改的)
sudo /etc/init.d/mysql restart
安装MYSQL Administrator
sudo apt-get install mysql-admin
安装好后在Gnome-应用程序-系统工具-MySQL Administrator
这里俺遇到了一个问题,就是运行MySQL Administrator后,点击User Administrator后,整个MySQL Administrator挂死,最后还是解决了,方法见后面
安装MYSQL for Apache HTTP Server
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql
sudo apt-get install phpmyadmin
要让PHP与MySql一起工作,编辑
sudo gedit /etc/php5/apache2/php.ini
取消对;extension=mysql.so的注释,象这样
…
extension=mysql.so
…
保存文件,然后
sudo /etc/init.d/apache2 restart
测试:
http://localhost/phpmyadmin
这里俺能修改用户,新增用户等等,回过头来解决前面提到的点击User Administrator后,整个MySQL Administrator挂死的问题,见下面的网址:
MySQL Administrator hangs after pressing User Administration Icon
高手们解决的办法不一,主要的方法:
在终端中:
export DEBUG_DONT_SPAWN_FETCHES=1
mysql-admin
这样就能顺利修改用户了
⑨ 如何在ubuntu中搭建web服务器
命令行安装Apache
打开"终端窗口",输入"sudo apt-get install apache2"-->回车-->输入"root用户的密码"-->回车-->输入"y"-->回车,安装完成
默认的网站根目录的路径
Apache安装完成后,默认的网站根目录是"/var/www/html",在终端窗口中输入"ls /var/www/html"-->回车-->在网站根目录下有一个"index.html"文件,在ie浏览器中输入"127.0.0.1"-->回车,就可以打开该页面。
Apache的第一个配置文件apache2.conf的路径
在终端窗口中输入"ls /etc/apache2"-->回车-->有一个"apache2.conf"的配置文件。
Apache的第二个配置文件000-default.conf的路径
在终端窗口中输入"ls /etc/apache2/sites-available"-->回车-->有一个"000-default.conf"的配置文件。
5
修改网站的根目录
1、在终端窗口中输入"sudo vi /etc/apache2/apache2.conf"-->回车-->找到"<Directory /var/www/>"的位置-->更改"/var/www/"为新的根目录就可以了。
2、在终端窗口中输入"sudo vi /etc/apache2/sites-available/000-default.conf"-->回车-->找到"DocumentRoot /var/www/html"的位置-->更改"/var/www/html"为新的根目录就可以了,这里我把它更改为"/var/www/"。