① 如何在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/"。