本地ubuntu伺服器自己搭建
1. 怎麼在Ubuntu下搭建伺服器
在Ubuntu下搭建伺服器
是什麼?中文翻譯叫做:虛擬專用網路。功能是,在公用網路上建立專用網路,進行加密通訊。
適用的場合:
1.你的公司網路在一個區域網,不能外部訪問。有一天你外出度假了,想訪問一下公司的內部網路,外網是不能直接訪問的。如果公司的網路有一台主機設置了,你就可以通過連上這台主機,來訪問公司內部網路啦。
2.如果你的主機是在國外,你可以在這台主機上配置,然後你的電腦連上之後就可以啦。
3.某台伺服器(如游戲伺服器)限制了一些IP連接到它上面,這時你配置,連上之後,就可以繼續訪問那台伺服器。
我們以Ubuntu為例,說一下怎樣配置伺服器。
1、用root賬戶登陸伺服器
2、安裝PPTPD
apt-get install pptpd
3、編輯pptpd.conf文件
vi /etc/pptpd.conf
取消注釋下面內容
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245
這幾句的意思是:當外部計算機通過pptp聯接到後所能拿到的ip地址范圍和伺服器的ip地址設置。
4、添加用於登陸的賬戶
vi /etc/ppp/chap-secrets
格式如下:
# client server secret IP addresses
cqc pptpd 123456 *
從左到右依次是用戶名,自己指定。伺服器,填寫pptpd,密碼,自己指定。IP,填*即可。中間用空格分別隔開。
5、設置DNS解析,編輯pptpd-options文件
vi /etc/ppp/pptpd-options
找到ms-dns,取消掉注釋,並修改DNS地址,這里我推薦大家用
Google DNS 8.8.8.8 和 8.8.4.4
更改為如下內容
ms-dns 8.8.8.8
ms-dns 8.8.4.4
6、開啟轉發
vi /etc/sysctl.conf
取消注釋以下內容
net.ipv4.ip_forward=1
這句話意思是:打開內核IP轉發
更新一下配置
sudo sysctl -p
7、安裝iptables並設置
apt-get install iptables
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
後面這句話作用是:立刻讓LINUX支持NAT(platinum)
8、重新啟動服務
/etc/init.d/pptpd restart
9、大功告成,伺服器就這么配置好啦。
接下來,利用IP地址,剛才設置的賬號和密碼,就可以連你的啦。
2. 怎樣在Ubuntu 14.04中搭建gitolite git伺服器
1. 首先這里我們安裝openssh-serveropenssh-client,如果你用的是VPS之類的一般都默認安裝好了,不過運行一個這個命令不會有錯的,如果有安裝就會提示已安裝。
sudo apt-get -y install openssh-serveropenssh-client
怎樣在Ubuntu 14.04中搭建gitolite git伺服器
2. 安裝Git,在這個核心軟體,不可或缺。
sudo apt-get -y install git
怎樣在Ubuntu 14.04中搭建gitolite git伺服器
3. 添加gitolite用戶和同名用戶組,加上--system參數,用戶就不會在登陸界面顯示。
sudo adser --system --shell /bin/sh--group --disabled-password --home /home/gitolite gitolite
怎樣在Ubuntu 14.04中搭建gitolite git伺服器
4. 生成ssh key,一路回車下來。
ssh-keygen -t rsa
怎樣在Ubuntu 14.04中搭建gitolite git伺服器
5. 將你當前用戶的ssh pub key復制到/tmp下備用,由於我用的是桌面版在同一台機器上。
cp ~/.ssh/id_rsa.pub /tmp/ubuntugege.pub
如果你是ssh遠程登陸到伺服器上安裝,就要把你本地的key復制到遠程的機器上
scp ~/.ssh/id_rsa.pubgitolite.server:/tmp/ubuntugege.pub
怎樣在Ubuntu 14.04中搭建gitolite git伺服器
6. 安裝gitolite,在ubuntu中已經集成了,不用自己去下載。
sudo apt-get -y install gitolite
怎樣在Ubuntu 14.04中搭建gitolite git伺服器
7. 切換到gitolite用戶環境中,因為我要以gitolite用戶身份去初始化安裝。
sudo su - gitolite
怎樣在Ubuntu 14.04中搭建gitolite git伺服器
8. 執行初始化安裝gitolite。
gl-setup /tmp/ubuntugege.pub
怎樣在Ubuntu 14.04中搭建gitolite git伺服器
9. 把管理庫gitolite-admin克隆過來就可以開始gitolite用戶及代碼庫的管理了,如果不能克隆,那麼就說明初始化的ssh pubkey錯了,如圖就是成功了。
git clonessh://gitolite@localhost/gitolite-admin.git
3. 如何用Ubuntu DIY文件伺服器
下載Ubuntu系統
首先是找到下載頁面,然後點擊伺服器版的下載地址。下載完最新版本的軟體後,你把ISO文件刻錄到CD上。於是,你就可以從光碟啟動伺服器了,整個操作系統的安裝大概需要20分鍾的時間。
安裝完成後,操作系統自動啟動到命令行提示符。這時,你登錄你的姓名,按ENTER鍵,添加你的密碼。然後,鍵入「sudo apt-get install ubuntu-desktop」命令就會解開Ubuntu系統的圖形界面。
伺服器版的Ubuntu通常只包含一個命令行界面。經過約20分鍾,你就可以重新啟動機器,並使用滑鼠來操作你的桌面了。
更改IP設置
如果你目前連接到一個DHCP路由器,Ubuntu在網路鏈路方面不會有任何問題。 當你准備開始提供文件服務時,你可能會希望手動配置IP地址,以使客戶端更容易恢復。
然後對系統訪問、參數設置、網路配置進行更改。點擊IPv4設置選項卡,改成手工設置。點擊加入IP地址,然後選擇「OK」。
最後對你的路由器進行設置,或者儲備一個靜態地址並將DHCP設置動態發送到其它客戶端,或整個網路都採用手動設置IP地址的方式。
添加用戶
在系統、管理器、用戶和組里增加新的用戶。按一下解鎖鍵,輸入你的密碼,然後點擊驗證。單擊添加用戶,增加一個新的網路登錄名和密碼,如此重復增加那些需要訪問該伺服器的用戶。
如果他們不需要訪問伺服器,那設置的配置文件就不需要訪問許可權,而只要成為桌面用戶即可。單擊管理組,把那些所有需要訪問伺服器的用戶添加到一個組里。
共享文件
接下來開始選擇那些需要共享的主文件夾,設定為本地屬性或者共享屬性。繼續打開下一層的文件夾,激活共享文件夾,然後點擊創建共享。
如果要對整個組的用戶賦予文件夾的訪問許可權,那隻要打開許可權表,給相應的組設置打開、關閉和寫、刪除文件的許可權就可以了。
通過上述步驟,就用Ubuntu系統建立起了一個免費的文件伺服器。
4. 一、伺服器從零到一——Ubuntu搭建nginx靜態伺服器
Ubuntu 18.04上的Nginx默認啟用了一個伺服器模塊,該模塊被配置為在/var/www/html目錄下提供文檔。 雖然這適用於單個站點,但如果您託管多個站點,它可能會變得很笨重。 我們不必修改/var/www/html ,而是在/var/www為我們的 example.com 網站創建一個目錄結構,並將/var/www/html保留為默認目錄,如果客戶端請求沒有匹配任何其他網站。
按如下所示為example.com創建目錄,使用-p標志創建任何必需的父目錄:
$ sudo mkdir -p /var/www/ example.com/html
接下來,使用$USER環境變數分配目錄的所有權:
USER:$USER /var/www/ example.com/html/
如果你沒有修改你的umask值,你的web根目錄的許可權應該是正確的,但是你可以通過輸入:
$ sudo chmod -R 755 /var/www/ example.com/
接下來,使用gedit或您最喜歡的編輯器創建一個index.html頁面示例:
$ gedit /var/www/ example.com/html/index.html
在裡面,添加下面的示例HTML:
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com server block is working!</h1>
</body>
</html>
為了讓Nginx提供這些內容,有必要創建一個具有正確指令的伺服器塊。 我們不要直接修改默認配置文件,而是在/etc/nginx/sites-available/ example.com上創建一個新文件:
$ sudo gedit /etc/nginx/sites-available/example.com
粘貼到以下配置塊中,該塊類似於默認值,但已更新陵森州為我們的新目錄和域名:
server {
listen 80;
listen [::]:80;
}
請注意,我們已將root配置更新到我們的新目錄,並將server_name為我們的域名。
接下來,讓我們通過創春岩建一個鏈接到啟動sites-enabled目錄來啟用該文件,該目錄是Nginx在啟動過程中讀取的:
$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
現在啟用兩個伺服器模塊並將其配置為基於listen和server_name指令響應請求(您可以閱讀關於Nginx如何處理這些指令的更多信息):
example.com :將響應 example.com 和 www.example.com 請求。
default :將響應埠80上與其他兩個塊不匹配的任何請求。
為了避免添加額外的伺服器名稱可能導致的哈希桶內存問題,有必要調整/etc/nginx/nginx.conf文件中的單個值。
打開文件:sudo gedit /etc/nginx/nginx.conf
找到server_names_hash_bucket_size指令並刪除#符號以取消注釋該行:
...
http {
...
server_names_hash_bucket_size 64;
...
}
...
接下來尺蔽,測試以確保您的Nginx文件中沒有語法錯誤:
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
如果沒有任何問題,請重新啟動Nginx以啟用您的更改:
$ sudo systemctl restart nginx
熟悉重要的Nginx文件和目錄
nginx伺服器配置文件:
/etc/nginx :Nginx配置目錄。 所有的Nginx配置文件都駐留在這里。
/etc/nginx/nginx.conf :主要的Nginx配置文件。 這可以修改,以更改Nginx全局配置。
/etc/nginx/sites-available/ :可存儲每個站點伺服器塊的目錄。 除非將Nginx鏈接到sites-enabled了sites-enabled目錄,否則Nginx不會使用此目錄中的配置文件。 通常,所有伺服器塊配置都在此目錄中完成,然後通過鏈接到其他目錄啟用。
/etc/nginx/sites-enabled/ :存儲啟用的每個站點伺服器塊的目錄。 通常,這些是通過鏈接到sites-available目錄中的配置文件創建的。
/etc/nginx/snippets :這個目錄包含可以包含在Nginx配置其他地方的配置片段。 可重復配置的片段可以重構為片段。
nginx伺服器日誌文件:
/var/log/nginx/access.log :除非Nginx配置為其他方式,否則每個對您的Web伺服器的請求都會記錄在此日誌文件中。
/var/log/nginx/error.log :任何Nginx錯誤都會記錄在這個日誌中。
5. 如何在ubuntu上搭建forge伺服器
1、安裝必要組件,我很推薦裝一個screen,因為這樣你可以讓伺服器在後台跑
apt-get install screen default-jdk
在安裝完java之後,用java -version看一下是否安裝正確
2、創建一個MC伺服器的目錄並且切換過去
mkdir /yourpath/minecraft/
cd /yourpath/minecraft //yourpath改為自己想要的路徑
3、下載MC伺服器的壓縮包
wget -O minecraft_server.jarhttps://s3.amazonaws.com/Minecraft.Download/versions/1.7.10/minecraft_server.1.7.10.jar(這是一行)
cp minecraft_server.jar minecraft_server.1.7.10.jar
4、啟動伺服器
java -Xmx2048M -Xms2048M -jar minecraft_server.jar nogui
提示沒有同意EULA
5、簽署「兩個同意」文件
如果有不會用vi編輯器的同學,留言或者網路,我懶的寫。。
vim eula.txt
eula=true 這里本來應該是false的
vim server.properties 這個文件里應該還有埠和地圖名字、伺服器歡迎語句的設置
online-mode=false
6、如果你想玩的是原版的MC伺服器,那麼再次啟動伺服器,你的伺服器就這么架設好了
java -Xmx2048M -Xms2048M -XX:ParallelGCThreads=16 -jar minecraft_server.jar nogui
(-Xmx最大內存 -Xms最小內存 -XX:ParallelGCThreads同時調用CPU數量,建議一半或1/4或者不設)
下面開始講Forge
1、下載Forge必要組件
cd /yourpath/minecraft
wget http://files.minecraftforge.net/maven/net/minecraftforge/forge/1.7.10-10.13.2.1291/forge-1.7.10-10.13.2.1291-installer.jar
wget http://files.minecraftforge.net/maven/net/minecraftforge/forge/1.7.10-10.13.2.1291/forge-1.7.10-10.13.2.1291-universal.jar
2、安裝forge server
java -jar forge-1.7.10-10.13.2.1291-installer.jar nogui --installServer
3、啟動forge server
java -jar forge-1.7.10-10.13.2.1291-universal.jar nogui
啟動完畢後輸入 /stop 關閉伺服器
4、將forge server合並到MC伺服器
mkdir unzip
cd unzip
unzip ../minecraft_server.1.7.10.jar
unzip ../forge-1.7.10-10.13.2.1291-universal.jar
Archive: ../forge-1.7.10-10.13.2.1291-universal.jar (這兩句是上面那句命令的結果)
replace META-INF/MANIFEST.MF? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
zip -r ../Forge-minecraft_server.1.7.10.jar *
5、啟動伺服器
java -Xmx8192M -Xms4096M -XX:ParallelGCThreads=16 -jar Forge-minecraft_server.1.7.10.jar nogui (這是一整行)
搞定~
mod的安裝和Windows上並沒有什麼區別,只要會用cp和wget命令就好了~
6. 如何在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
7. 使用ubuntu 怎麼搭建伺服器
如果想用Ubuntu作為網站的伺服器,一些基本的服務是必備的。本文對環境的搭建做一個簡單的整理。
Appach
Apache是世界使用排名第一的Web伺服器軟體。它可以運行在幾乎所有廣泛使用的計算機平台上,由於其跨平台和安全性被廣泛使用,是最流行的Web伺服器端軟體之一。
安裝
sudo apt-get install apache2
大概5M左右,安裝完成後伺服器會自動啟動
在瀏覽器里輸入http://localhost或者是http://127.0.0.1或者輸入IP,如果看到了It works!,那就說明Apache就成功的安裝了,Apache的默認安裝,會在/var下建立一個名為www的目錄,這個就是Web目錄了,所有要能過瀏覽器訪問的Web文件都要放到這個目錄里。
如果更改配置重新啟動命令如下:
sudo /etc/init.d/apache2 restart
到這里,如果只是單純的跑一些靜態網頁的話這兒就夠了,只需要將設計的html文件放入/var/www目錄即可
到這里我遇到一個問題沒解決就是根目錄下的二級目錄無法訪問,重新安裝多次,都是同樣的問題。
PHP
PHP支持同樣是很多網站必備之一,安裝命令如下:
sudo apt-get install libapache2-mod-php5 php5
需要下載6M左右安裝包。安裝擴展:
sudo apt-get install libapache2-mod-php5 php5
Mysql
sudo apt-get install mysql-server mysql-client
需要下載26M左右的安裝包,等待安裝完成,彈出設定密碼界面:
輸入資料庫root密碼,按tab鍵選擇確定。接下來會要求重復密碼,重復同樣操作。
資料庫安裝完成後,為了方便管理和操作,繼續安裝phpmyadmin。
sudo apt-get install phpmyadmin
需要下載6M左右的安裝包,安裝完成後進入設置界面,
8. 怎麼搭建本地Ubuntu鏡像伺服器
一.需求分析
最近公司軟體Team 有個需求是這樣的:能不能在區域網搭建一個Ubuntu 鏡像伺服器,
這樣作的好處是可以節省Ubuntu某些常用工具的安裝時間。
二.部署過程
2.1 測試環境
目前在公司內有一台能連接到外網的Ubuntu機器, IP : 192.168.8.173 ,
Ubuntu版本為Ubuntu 9.04 i686。
2.2 搭建步驟
為了創建Ubuntu mirror 伺服器,最少需要60G硬碟空間,Ubuntu每個版本都有32 bit
和64 bit兩個版本,有兩組deb包。當然可以創建Ubuntu一個版本的32 bit 和64 bit 的
鏡像伺服器,也可以創建全部版本的鏡像。
這里使用sohu 公司的mirror地址作為本地Ubuntu Source 伺服器,使用sohu的原因是:
1. sohu的Ubuntu Source 伺服器速度相當快
2. sohu 的ubuntu Source 伺服器每天會和Ubuntu官方伺服器同步一次,這樣可以保
證我們使用的是最新的軟體包。
修改方式如下:
root@ms ~: cat /etc/apt/sources.list
deb http://mirrors.sohu.com/ubuntu/ jaunty main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ jaunty-security main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ jaunty-updates main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ jaunty-proposed main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ jaunty-backports main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-security main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-updates main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-proposed main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-backports main restricted universe multiverse
安裝下面工具:
root@ms ~: apt-get install apt-mirror
root@ms ~: apt-get install apache2
下面就構建Ubuntu 9.04 32bit 的本地Ubuntu mirror 伺服器為例子,來說明如何配置:
修改配置文件:
root@ms ~: cat /etc/apt/mirror.list
############# config ##################
#
# set base_path /var/spool/apt-mirror
#
# set mirror_path $base_path/mirror
# set skel_path $base_path/skel
# set var_path $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch
# set postmirror_script $var_path/postmirror.sh
set run_postmirror 0
set nthreads 20
set _tilde 0
#
############# end config ##############
deb-i386 http://mirrors.sohu.com/ubuntu jaunty main restricted universe multiverse
deb-i386 http://mirrors.sohu.com/ubuntu jaunty-security main restricted universe multiverse
deb-i386 http://mirrors.sohu.com/ubuntu jaunty-updates main restricted universe multiverse
#deb http://mirrors.sohu.comubuntu jaunty-proposed main restricted universe multiverse
#deb http://mirrors.sohu.comubuntu jaunty-backports main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu jaunty main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu jaunty-security main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu jaunty-updates main restricted universe multiverse
#deb-src http://mirrors.sohu.com/ubuntu jaunty-proposed main restricted universe multiverse
#deb-src http://mirrors.sohu.com/ubuntu jaunty-backports main restricted universe multiverse
#clean http://archive.ubuntu.com/ubuntu
備註:
deb-i386 http:// 表示下載32 bit 版本的deb 軟體
deb http:// 表示下載64bit 版本的deb 軟體
jaunty 表示Ubuntu 9.04的代號
設置完成後,輸入下面命令:
root@ms ~: apt-mirror
這時系統會啟動20個線程運行wget 到 http://mirrors.sohu.com/Ubuntu 下面下載相應的
deb包。時間比較的長,該命令執行完成後,/var/spool/apt-mirror目錄下就有了所有需
要的deb包和相應的配置文件。
由於我是從sohu下載的,所以實際的文件在 :
/var/spool/apt-mirror/mirror/mirrors.sohu.com/ubuntu 目錄下。
這樣,本地就有了所有Ubuntu Source 伺服器所需要的文件,然後開啟相應的服務:
這里使用apache2作為Web伺服器,默認根目錄在/var/www/,所以可以在該目錄下做
個鏈接,如下所示:
root@ms ~: cd /var/www
root@ms ~: ln /var/spool/apt-mirror/mirror/mirrors.sohu.com/ubuntu -s
開啟web服務:
root@ms ~: apache2ctl start
打開瀏覽器輸入下面地址即可看到和sohu mirror一樣的頁面:
http://192.168.8.173/ubuntu
同時也可以使用crontab進行每天的更新,修改配置文件:
root@ms ~: cat /etc/cron.d/apt-mirror
#
# Regular cron jobs for the apt-mirror package
#
#0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
把命令前面的「#」去掉即可,這樣系統會自動使用apt-mirror去和sohu伺服器更新。
最後,我們所要做得就是在客戶端的機器上修改更新源配置文件,將地址改成本地
mirror伺服器的地址即可,如下所示:
root@ms ~: cat /etc/apt/sources.list
deb http://192.168.8.173/ubuntu/ jaunty main restricted universe multiverse
deb http://192.168.8.173/ubuntu/ jaunty-security main restricted universe multiverse
deb http://192.168.8.173/ubuntu/ jaunty-updates main restricted universe multiverse
deb http://192.168.8.173/ubuntu/ jaunty-proposed main restricted universe multiverse
deb http://192.168.8.173/ubuntu/ jaunty-backports main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty-security main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty-updates main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty-proposed main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty-backports main restricted universe multiverse
執行「apt-get update」來重建本地索引,這樣以後就會使用本地的Mirror 伺服器進行更新