LEMP ubuntu 14.04 + nginx + mariaDB + php + PimpMyLog

ubuntu desktop Boot Terminal mode (link)


  1. Ctrl + Alt + T 呼叫 Terminal
  2. sudo gedit /etc/default/grub
  3. 註解 GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”,
  4. 加上 GRUB_CMDLINE_LINUX_DEFAULT=”text” 
  5. 解開 GRUB_TERMINAL=console
  6. sudo update-grub
  7. sudo reboot
  8. *note:返回 GUI 指令 "startx" 似乎不正常,請反推步驟回去
Set Root Password or create a new user

  1. sudo passwd root
Update APT

  • apt-get update


Setup Open SSH (link)
  1. sudo -s
  2. apt-get install ssh
  3. SFTP user & Chroot Directory (link)

Setup DMZ & NAT, connect to VMWare

Register a Domain And setup DUC or DDNS

Set VMWare Virtual Network Editor (link)

  • 將 virtual ip 指向 PC 特定 port
  • ifconfig 查 machine 的 ip & 要對外的 port
  • 開啟 VM 的 Virtual Network Editor
  • 將 VMnet8 使用 NAT,設定 VM machine 內部的 ip:port ,指向指定的 port號
  • (或將 linux ip 網段設定到跟時體網卡同網段)
  • 在 win 中,必須開啟該 port 防火牆,允許外部連入


Install LEMP (link)
  1. nginx
  2. mariaDB
  3. php
  4. phpmyadmin
  5. Logstash and Kibana 
  6. SSL
  • Nginx
    • 如果有安裝 apache2,先移除
      • apt-get purge apache2*
      • apt-get autoremove
    • apt-get install nginx
    • service nginx start
    • enter http://localhost/ 測試是否有畫面
    • Edit System Config
      • nano /etc/nginx/nginx.conf
      • worker_processes 1; 設定CPU使用核心數
    • Edit Server
      • index.php
        • nano /etc/nginx/sites-available/default
        • index index.php index.html index.htm; –> 加上 index.php
        • root /usr/share/nginx/html; –> 文件根目錄
        • server_name server.unixmen.local; –> Server FQDN(完整網域名稱)
      • 0day
        • 解開 location ~ \.php$ { 系列註解
        • 第一行加上 try_files $uri =404; –> 防止 0day 漏洞
      • test
        • nginx -t
        • 顯示以下訊息為正確
          nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
          nginx: configuration file /etc/nginx/nginx.conf test is successful
      • 其他相關配置 (link)
    • service nginx restart
  • mariaDB
    • 有需要的可以去移除mysql
      • sudo apt-get purge mysql*
      • sudo apt-get autoremove
    • 安裝 PPA
      • apt-get install software-properties-common
      • apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
      • add-apt-repository 'deb http://mirrors.scie.in/mariadb/repo/5.5/ubuntu precise main'
        • 有很多版 (link)
      • apt-get update
    • 安裝 mariaDB
      • apt-get install mariadb-server mariadb-client -y
    • 檢查
      • mysql -v -u root -p 登入測看看
      • service mysql status 直接看 server 狀態
  • php
    • apt-get install php5 php5-fpm php5-mysql
    • 設定 php.ini
      • nano /etc/php5/fpm/php.ini
      • ‘cgi.fix_pathinfo=1′, -> change the value 1 to 0.
        • 為了解決因ngnix配置,路徑解析錯誤的問題
        • 但似乎衍伸另外的問題,最強解決方式,撰寫fastcgi.conf 重新指定環境參數 (link)
    • 指定FastCGI服務器監聽端口與地址,可以是本機或者其它
      • nano /etc/nginx/sites-available/default
      • location ~ \.php$ { -> 加上 fastcgi_pass 127.0.0.1:9000;
      • 似乎有點問題
    • service ngnix restart
    • service php5-fpm restart
  • phpmyadmin
    • apt-get install phpmyadmin
    • 將 phpmyadmin 路徑 soft link 到 web路徑
      • ln -s /usr/share/phpmyadmin/ /usr/share/nginx/html
    • service nginx restart
  • Pimp My Log (link)
    • wget -O pml.zip https://github.com/potsky/PimpMyLog/zipball/master && unzip -o pml.zip && mv potsky-PimpMyLog-* PimpMyLog && rm pml.zip
  • SSL (link)
    • 挑選憑證存放地點
      • mkdir /etc/nginx/ssl
      • cd /etc/nginx/ssl
    • 產生憑證
      • 產生伺服器用的金鑰
        • openssl genrsa -out server.key 2048
      • 建立憑證要求 (Certificate Signing Request)
        • openssl req -new -key server.key -out server.csr
          • common name 憑證名稱,填寫 FQDN(完整網域名稱)
          • A challenge password 跳過
      • 產生自我簽署憑證 (Self-Signed Certificate)
        • openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
        • x509認證架構
          • Root CA(官方最高認證中心)->簽名援權->CA
          • CA->簽名核發->certificate
    • 掛入 nginx
      • nano /etc/nginx/sites-available/default
      • Ctrl-W 搜尋 listen 443,將該段 server {} 解開
      • ssl_certificate 簽署憑證路徑 /etc/nginx/ssl/server.crt
      • ssl_certificate_key 伺服器鑰 /etc/nginx/ssl/server.key
    • 重開 nginx
LEMP ubuntu 14.04 + nginx + mariaDB + php + PimpMyLog LEMP ubuntu 14.04 + nginx + mariaDB + php + PimpMyLog Reviewed by Wild on 11/21/2014 04:53:00 下午 Rating: 5

沒有留言:

沒有Google帳號也可發表意見唷!

技術提供:Blogger.