日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

教你如何安装一个免费的专用Web服务器

發布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 教你如何安装一个免费的专用Web服务器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

所有偉大的站點背后都有一個偉大的服務器。? 在這篇指南里,我會告訴你如何搭建一個專用的服務器(包括Apache,MySql,和PHP), 使用那臺在屋子里無所事事的舊電腦和一些免費的軟件。

快速概覽

在這篇指南里, 我們的目標是要完成幾件事:

  • 我們將會安裝Ubuntu Server版操作系統。我通常使用Ubuntu,因為它易于使用,管理簡單。在其背后還有一個相當大且極其活躍的社區,使你輕松的得到支持。
  • 我們將會安裝一個 OpenSSH 服務。它允許你從遠程計算機管理你的服務器。
  • 會安裝一個LAMP (Linux, Apache, MySQL, 和 PHP) 架構。這是運行你web站點的“骨架”支持。Apache是基于Unix操作系統web服務器的行業標準; 它是被大多數web主機使用的(NETTUTS現在就是用的它),并且現在我們也會去用它。
  • 我們會安裝一個防火墻來保護你的服務器,阻止那些未授權的訪問。
為了跟隨本教程,你需要以下一些東西:
  • 一個用作服務器的電腦。它不需要很強大, 也不需要太古老,可以工作就好。請不要在你的桌面PC上做這些;Ubuntu會徹底清除你的電腦。
  • 一個CD刻錄機和一張空白的CD。是為了便于你刻錄一張Ubuntu的安裝盤。
  • 時間。 嚴重的說,這個過程是很費時的,尤其是你遇到問題的時候。盡力騰出一個下午的功夫來跟隨這個教程去做。
你可能會問,為什么你想有你自己的web服務器。有多個原因,其中一些是:你可以為你自己的網站提供一個試驗場;一個小的修改,你就可以host你自己的站點;并且,當你做這些的時候你會學到很多關于Linux/Unix的東西。下面讓我們開始吧!
下載Ubuntu Server版

首先,我們需要一張有Ubuntu的CD。把你的瀏覽器指向 http://www.ubuntu.com/, 點擊左邊菜單里的 download ?,F在你會看到有兩標簽的一個框 :? "Desktop Edition" 和 "Server Edition"。點擊"Server Edition" 標簽, 選擇 "Ubuntu 8.04 LTS"。 下一步,從下拉列表框里選一個下載地點。最好點擊 "Begin Download" 按鈕。

現在你需要刻錄一個ISO到你準備的空白CD上。如果你不知道如何去做,這有個優秀的教程https://help.ubuntu.com/community/BurningIsoHowto

安裝 Ubuntu Server

現在你已經下載好了,并且刻好了ISO, 讓我們把Ubuntu裝在你的服務器上吧。 把這張盤放到磁盤驅動器里,然后從光盤啟動。大多數現代的電腦,如果一張盤在磁盤驅動器里,當你打開它的時候都會默認從光盤啟動。如果沒有的話,在你啟動電腦的時候,需要按一個鍵。例如我的筆記本,它是F12, 我的服務器是F2。這些取決于你的電腦了。你也可以在啟動電腦BIOS期間出現在屏幕上的文字來找到它。你會看到一些像 "Press [KEY] to change boot order"這樣的話。按這個鍵,選擇CD drive。

Still with me? Good. Now that you've booted up Ubuntu, you should see the following screen:

選擇你的語言,點擊回車。現在你會看到下面這個屏幕:

選擇 "Install Ubuntu Server", 我們出發吧!

安裝程序會問你是否想要檢測你的鍵盤布局。 就我個人而言, 我總是選no,因為從列表里選一個標準的美國鍵盤比安裝程序選擇它來得快。其他選項是好的,只需要按屏幕的指示來。

當你做完這些以后, 你會看到屏幕上一堆loading信息,像"Detecting CD-ROM drives" 諸如此類的。這些應該毫無問題的快速通過。 然而,就在這個期間,安裝程序會嘗試自動配置你的網絡設置。大多數情況下,不會有問題。但是 ,如果它不為你工作了,只需要按照屏幕上的指示來讓它工作。

完成這一切以后, 它會問你主機名稱。你通??梢栽O置為任意值,我總是設置我的叫“web-server”。

系統現在會讓你設置時區。對我來說,是Pacific. 選擇一個適用于你的。

現在,系統會檢測更多的硬件,并且你會被提示"partion the disk(s)(磁盤分區)". 選擇 "Guided - use entire disk(引導 - 適用整個磁盤)".

你現在選擇你需要分區的磁盤。對于大多數的安裝,僅有一個磁盤可用,但是,對于大多數更專有的系統,這里有更多可用的選擇。選擇一個適用于你的。

它會問你是否你想把改變寫入到磁盤。選擇 "Yes" 然后回車。安裝程序現在會格式化你的驅動器設立分區。

現在魔力爆發了。系統開始安裝。當這一切發生的時候,去泡杯咖啡吧。這會花費一些時間,10分鐘到一個小時不等, 這取決于你的系統??赡軙卸啻慰ㄔ谀抢?#xff0c;不要著急,沒什么,只需要讓它去做該做的。但是如果它在一件事上停留超過一小時,那么完了, 它死機了。

現在系統裝好了,你需要設置一個用以登陸的帳號。首先,輸入你的全名,并且點擊 "Continue"。

現在輸入用戶名。它通常會設置為你的first name(按老外的名字),但是你可以改變它。一個名字你不要去用,"root"。

你現在會被要求提供一個密碼。選擇一個strong(譯者注:復雜,長的,難以被破解的)密碼是至關重要的,否則你的服務器根本不會安全。我建議至少是數字,小寫字母和大寫字母的混合。但是,對于我自己的服務器,我用符號,和上面的混合物一樣好。不要用少于7個字符的密碼。

然后,重新輸入一遍你的密碼來驗證你輸入的是否正確。

系統現在會試圖配置 "Package Manager" (we'll get to what that is shortly). 提供你的代理信息,如果你不用代理就留空,然后選擇"Continue"。

系統現在會掃描多個服務器尋找更新和配置。

完成這個以后,你會看到幾個安裝服務器軟件的選項?,F在,請仔細聽。選擇 Select OpenSSH server, 按 SPACE(空格), 不是回車。如果你按了回車,OpenSSH server就不會被安裝。你也可以安裝 "LAMP server" ,但是我沒有這方面的經驗,所以會用不同的命令去安裝它們。

系統現在會安裝你選擇的軟件,以及其他系統組件。

最后,安裝完成。取出CD盤,點擊回車。電腦會重啟。如果一切正常,你會看到如下畫面:

恭喜你,你已經完成了最難的部分。Ubuntu現在裝好了,現在是把你的電腦變成web服務器的時候了。

更新你的新服務器

在我們更進一步之前,我們需要確保你的服務器是最新的。要做到這一點,你需要登陸。首先,輸入用戶名(你之前選的那個),按回車,輸入密碼。當你輸入密碼的時候,你會注意到什么事情都沒有發生。不要著急,這就是它的工作方式。在你輸完你的密碼之后,按回車,如果一切正常,你的屏幕會出現如下畫面:

現在,輸入:

sudo aptitude update && sudo aptitude dist-upgrade

它會詢問你密碼,同樣,你不會看到你輸入的任何東西。完成這個以后,它會問你是否想繼續。輸入“y”,按回車。你的屏幕會如下顯示:

你的系統現在開始下載并安裝最新的更新。這一步花費的時間取決于你的互聯網鏈接。完成這個以后,你的電腦需要重啟。為了做到這一點,輸入:

sudo shutdown -r now

讓它重啟。你的服務器現在完全更新了。

關于"Sudo"

直到現在,你可能已經注意到了,你輸入的所有命令都以sudo開始。這是因為它們需要管理員權限,這就是sudo的作用。它以管理員身份運行命令(例如“shutdown”)使其能正常工作。這也是為什么它問你要密碼的原因。然而,在你輸入“sudo”一次并鍵入密碼五分鐘之內,不需要再次輸入你的密碼。不是所有的命令都需要sudo,只是那些修改系統的部分才需要。理解了嗎?? 很好。

安裝 Apache, MySQL, 和 PHP

現在是安裝一些程序的時候了。為了從互聯網訪問你的站點,我們需要安裝web服務器 (Apache). 除了web服務器,我們也需要安裝數據庫服務器 (MySQL) 和一個服務端語言 (PHP) ,以便于我們可以運行像WordPress這樣的流行應用。所以,讓我們來完成這些。

在Ubuntu上面安裝程序不同于在Windows或OSX, 在Ubuntu上只需要一個簡單命令就可以下載和安裝這個程序。這是因為Ubuntu有個叫包管理(Package Manager)的東西, 它管理著你系統上所有的程序。所有我們能做的就是告訴這個包管理工具(叫做 "aptitude") 我們想讓它安裝 Apache, MySQL, 和 PHP。輸入下面的命令來做到這一點:

sudo aptitude install apache2 php5-mysql libapache2-mod-php5 mysql-server

按回車。 Aptitude 會下載和安裝你指定的這些程序。它也會下載和安裝任何依賴的包。

在安裝期間,MySQL會問你root密碼。你可以任意設置它,只要確保它是長的安全的就行。無論如何,你都不能把它留空。

所有的一切完成以后,你現在就有了一個全職的web服務器了。為了測試它,你需要輸入下面命令來找到你的服務器的IP:

ifconfig | grep inet

它通常是返回的第一個IP。現在你知道了IP, 打開你的瀏覽器,輸入你的IP地址。如果你看到 "It works!" 信息,那么恭喜你,它可以工作了。

然而,我們還沒有做完。我們不想Apache或PHP透露任何關于它們本身的信息,因為這些信息對你的用戶是無用的,并且可能會造成安全風險。首先,備份原來的Apache配置文件:

sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak

現在打開配置文件:

sudo nano /etc/apache2/apache2.conf

向下滾動(下箭頭) 到寫著"ServerTokens Full"的地方,改變它為 "ServerTokens Prod"

現在,再稍微向下滾動一點,修改 "ServerSignature On" 為 "ServerSignature Off"

最后,按下Control-O ,其次是 Control-X.文件會被保存且會推出編輯器。

現在,我們會對PHP做相同的事情。首先,備份原始的PHP配置文件 :

sudo cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.bak

打開配置文件:

sudo nano /etc/php5/apache2/php.ini

修改 "expose_php = On" 為 "expose_php = Off"

再一次,按下 Control-O ,然后 Control-X。現在配置文件被更新,重啟Apache:

sudo /etc/init.d/apache2 restart

你已經設置完 Apache, MySQL, 和 PHP了。

安裝一個防火墻

現在我們要通過安裝Shorewal鎖定我們的服務器,一個命令行防火墻。安裝它:

sudo aptitude install shorewall

默認情況下,Shorewall的安裝是沒有規則的,允許完全訪問。然而,著不是我們想要的方式。相反,我們想要屏蔽除了80端口(HTTP) 和22端口(SSH)之外的所有連接。首先,復制這個配置文件到Shorewall目錄下:

sudo cp /usr/share/doc/shorewall-common/examples/one-interface/* /etc/shorewall/

現在,打開 "rules" 文件:

sudo nano /etc/shorewall/rules

把下面兩行加到 "#LAST LINE"上面:

HTTP/ACCEPT net $FW
SSH/ACCEPT net $FW

然后按 Control-O 和 Control-X。你的防火墻現在配置好了,僅僅接受HTTP和SSH的通信。我們需要做的最后一件事是告訴 Shorewall在系統啟動時開啟。所以,打開Shorewall主配置文件:

sudo nano /etc/shorewall/shorewall.conf

滾動到 "STARTUP_ENABLED=No" 修改為 "STARTUP_ENABLED=Yes"

按 Control-O 和 Control-X?,F在,打開Shorewall 默認配置文件:

sudo nano /etc/default/shorewall

修改"startup=0" 為 "startup=1"。按Control-O 和 Control-X。最后啟動你的防火墻 :

sudo /etc/init.d/shorewall start

恭喜你!你的防火墻現在開始保護你的服務器了。

把你的網站放到服務器上

現在你已經設置好一切,你可能要添加一個網站了。默認情況下,Apache服務器映射到互聯網的所有文件是位于 "/var/www/"下。然而,你不能寫入這個文件夾。讓我們這么做:

sudo usermod -g www-data [YOUR USERNAME]
sudo chown -R www-data:www-data /var/www
sudo chmod -R 775 /var/www

你把你自己加到了"www-data" 組, 并且使網站的文件夾對于每個“www-data”組的成員來說都是可寫的。

現在,你需要用SFTP來登陸你的服務器(不要和FTPS混淆)。支持SFTP的客戶端有: WinSCP (Windows, 免費的), FileZilla (Windows, Linux, OS X, 免費的), Cyberduck (OS X, 免費的), 還有我個人的最愛, Transmit (OS X, $30)

使用你的用戶名密碼連接到你的服務器上,如果你的客戶端支持它,默認路徑是 "/var/www" (如果不支持,只需要登陸以后瀏覽 /var/www ):

你現在可以在這個文件夾 (/var/www) 下添加文件,并且,當你用你的web瀏覽器瀏覽它的時候,它會顯示。

現在,你可能想知道,為什么我們要用SFTP來代替FTP。主要是因為SFTP是建立在OpenSSH(你之前裝過的)基礎上的。然而,它比FTP更安全,使惡意用戶獲取你的登陸憑證更加困難。

使你的服務器在互聯網上可訪問

大多數的現代家庭網絡都有一個路由器。由于這個原因,你的web服務器不經由一些小小的工作,將不會出現在互聯網上。因為我不可能去測試每個路由器,所以我只能在這方面給你一個通用的方向。

這有兩個方法,可以讓你的服務器通向互聯網: 一個DMZ 或者 Port 轉發。你會去注意使用DMZ的主要不同是,你的服務器用我們之前安裝的防火墻阻止了你自己。然而,用Port轉發,你的服務器被你的路由防火墻阻止。

然而,在我們繼續之前,你會想給你的服務器一個靜態的LAN地址。為了做到這一點,你需要登陸路由,尋找的東西大致是 "Static IPs" 或 "Static Routing"。之后你的服務器擁有了以個靜態的LAN地址,你可以做下一步了。記住,Googel是你的朋友。

做 port foward, 這有個優秀的站點, PortForward.com, 雖然難看了點,但是它可以幫你完成這項工作,幾乎適用于任何路由。你想轉發的端口是22 和 80.

去創建一個DMZ, 你需要登陸你的路由器,去尋找一個類似 "DMZ settings"的東西。 一旦你找到它,把你的服務器加到DMZ中,然后你設置它。 再重復一遍,Google對于解決類似問題很有用。

現在,找到你的公網IP, 瞧吧!你可以從任何地方訪問你的服務器了,只要你的IP不變。

遠程管理的你的服務器

除了允許你上傳文件外,只要你知道你的IP, OpenSSH允許你從任何地方登陸到你的服務器。對于Windows,你需要一個SSH客戶端。我推薦 Putty 。對于OS X, SSH已經安裝好了。只要打開終端 并且輸入 "ssh you@yourip"就行。對于 Putty, 選擇 SSH, 輸入你的 IP, 用戶名, 和密碼(當你需要它的時候)。你會注意到,一旦你登陸,它看起來和服務器上的屏幕完全一樣:

你可以這這里做任何事,想退出的話,輸入”exit“,按回車就行了。

就這些!
這里有一些參考:
  • Installing Software
  • Setting Up Apache, MySQL, and PHP
  • Shorewall Configuration Guide
  • How to Port Forward
  • User Membership With PHP PHP
  • Organize Your Team with Collabtive Tools & Tips
  • How to Create an Object-Oriented Blog Using PHP PHP

總結

以上是生活随笔為你收集整理的教你如何安装一个免费的专用Web服务器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。