前端新手的ubuntu初始化設置


遠程登陸,增長用戶,提高權限

linux容許多人、同時、在不一樣的地點,操做同一臺服務器。
能夠設置多個用戶,分組,能夠修改設置每一個用戶的權限。
經過ssh協議進行遠程連接,登陸雲主機。html

當擁有了一臺雲主機後:linux

  1. 先用root帳戶進行ssh遠程登陸
    ssh -p [port] username@ip_address
  2. 用命令添加其餘用戶,並將用戶拉入更高權限的組。
    useradd manager -m 增長名爲manager的用戶,-m參數會同時在/home目錄下創建manager目錄
    passwd manager設置manager用戶的密碼
    gpasswd -a manager sudo 將manager添加到sudo組,-a參數表示添加用戶到組
  3. 在sudoers文件中設置新增用戶的權限,打開sudoers文件
    vi /etc/sudoers
  4. 在root ALL=(ALL:ALL) ALL的下面一行,添加一行
    manager ALL=(ALL:ALL) ALL
我在實做中執行完第3步後,不執行第4步,該用戶也是具備管理員權限的。

要使用ssh進行遠程免密連接,須要在咱們的本地機上生成ssh的公鑰和私鑰。
這兩把鑰匙文件,其中公鑰文件將交給遠程服務器保存。
每次本地機進行ssh連接遠程主機時,本地機會先用本身的私鑰進行加密,而遠程主機會用保存的本地機的公鑰進行解密,確認對方的身份以後就可容許對方登陸。
這麼作就實現了免密登陸。若是遠程主機沒有持有對方的公鑰,那麼本地機就須要輸入本身的用戶密碼登陸。nginx

安裝git

主要使用git將本地機代碼push到服務器上。或者在服務器上從github clone代碼。git

  1. 首先更新apt-get的源,順便升級已安裝的軟件,接着安裝git包。
    apt-get update
    apt-get upgrade
    apt-get install git
  2. 給manager用戶在服務器上生成一個ssh公鑰和私鑰
    ssh-keygen該命令會在用戶根目錄下建立.ssh目錄,並生成id_rsa和id_rsa.pub文件
  3. 在本地機用戶目錄下的.ssh文件夾內,啓動命令行工具,將本地機的公鑰保存到服務器上
    ssh-copy-id manager@id_address -p [port] 這行命令會在遠端manager目錄下生成一個authorized_keys文件。
    cat .ssh/authorized_keys 在manager的用戶根目錄中(/home/manager)用cat命令打印出該文件內容
  4. 將服務器的ssh公鑰保存到github上

嘗試使用git
這裏以push一個本地hexo靜態站爲例:github

  1. 建立遠端倉庫
    cd /var/repo
    git init --bare hexo-blog.git
    mkdir /var/www/hexo
    vim /var/repo/hexo_static.git/hooks/post-receive 建立一個hooks鉤子文件,在文件中添加以下兩行
    #!/bin/bash
    git --work-tree=/var/www/hexo --git-dir=/var/repo/hexo_static.git checkout -f
    chmod +x /var/repo/hexo_static.git/hooks/post-receive 保存後使文件具備可執行權限
  2. 在hexo中設置倉庫地址
    在配置文件中修改以下信息mongodb

    deploy:
    type: git
    repo: ssh://[uername]@[ip_address]:[port]/var/repo/hexo_static.git
    branch: master
  3. 運行hexo d,將hexo靜態站推到遠端倉庫
hexo建站可參考網絡文章,或個人這篇

設置防火牆

主要設置iptables的配置項。
這裏羅列一個簡單的入門配置。
該配置能達到如下防禦:數據庫

如下具體的端口號(如3989,8080,19898)可根據我的業務修改
  1. 只容許80端口和8080端口的http請求
  2. 只容許3989 19898端口的ssh訪問
  3. 屏蔽對80端口在60s內訪問超過150次的敏感ip
*filter

# allow all connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# allow out traffic
-A OUTPUT -j ACCEPT

# allow http https
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 8080 -j ACCEPT

# allow ssh port login
-A INPUT -p tcp -m state --state NEW --dport 3989 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 19898 -j ACCEPT

# ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

# log denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7

# drop incommin sensitive connections
-A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
-A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 150 -j DROP

# reject all other inbound
-A INPUT -j REJECT
-A FORWARD -j REJECT
COMMIT

開啓iptables設置規則 iptables-restore < /etc/iptables.up.rulesubuntu

設置nginx

  1. 安裝nginx
    sudo apt-get install nginx
  2. 設置nginx的配置文件
    在/etc/nginx/conf.d下新建一個配置文件,命名爲test-8080.conf的文件,填充相似以下內容。將達到這些效果:可以將訪問app.test.cn的域名轉發到8080端口的應用去處理;對blog.test.cn的訪問將用hexo的靜態站呈現vim

    upstream test {
      server 127.0.0.1:8080;
    }
    server {
      listen 80;
      server_name app.test.cn;
      location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Nginx-Proxy true;
        proxy_pass http://test;
        proxy_redirect off;
    
      }
    }
    server {
      listen 80;
      listen [::]:80 ipv6only=on;
      server_name blog.test.cn;
      root /var/www/hexo;
      index index.html index.htm;
    }
  3. 在dns解析中添加相應域名解析的a記錄
  4. 重載nginx的設置
    sudo nginx -s reload

這時咱們的hexo靜態站應該就能夠經過blog.test.cn訪問了。bash

設置mongodb

  1. 參閱官網的安裝教程進行mongodb的安裝
  2. 修改mongodb的默認端口
    sudo vi /etc/mongod.conf 在該文件將port更改成你想更改的port
  3. 去/etc/iptables.up.rules增長你設置的端口
  4. 重載iptables設定
    iptables-restore < /etc/iptables.up.rules
    如遇錯誤可嘗試重啓服務器,在進行重載
  5. 啓動mongodb
    sudo service mongod restart
  6. 打開mongo命令行工具
    mongo --host 127.0.0.1:[port]

成功連接數據庫說明安裝配置正確

相關文章
相關標籤/搜索