本地ubuntu伺服器搭建
① 一、伺服器從零到一——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錯誤都會記錄在這個日誌中。
② 怎麼在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地址,剛才設置的賬號和密碼,就可以連你的啦。
③ 怎樣在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
④ 如何在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
⑤ 如何在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命令就好了~
⑥ 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左右的安裝包,安裝完成後進入設置界面,
tab鍵選擇是,進行安裝,在安裝過程中會要求選擇Web server:apache2或lighttpd,使用空格鍵選定apache2,按tab鍵然後確定。接下來要求輸入密碼,輸入在上一步中設置的密碼,需要輸入兩次,完成安裝。
然後將phpmyadmin與apache2建立連接,www目錄在/var/www,phpmyadmin在/usr/share /phpmyadmin目錄,所以就用命令:
sudo ln -s /usr/share/phpmyadmin /var/www
建立鏈接。
phpmyadmin測試:在瀏覽器地址欄中打開http://localhost/phpmyadmin就能夠進入登錄界面,輸入前面配置的用戶名和密碼進行登錄,如下圖所示。
登錄後界面如圖所示。
ftp
要想對網站和數據進行管理,少不了的是ftp,通過ftp可以很方便的上傳/下載文件,實現管理,因此需要安裝ftp管理工具。
sudo apt-get install vsftpd