Linux源碼安裝LAMP

1. 什麼是 LAMP?

  LAMP 指的是 Linux(操作系統)、ApacheHTTP 服務器,MySQL(有時也指 MariaDB,數據庫軟件)和 PHP(有時也是指 PerlPython),一般用來建立 web 應用平臺。

2. 下載源碼包安裝 LAMP:

  Linux 的安裝就不介紹了,下面介紹 PHP, Mysql, Apache 的安裝 (會用到解壓命令, 詳見 HP的博客之解壓命令詳解 ):

(0) 安裝一些必需工具或者庫
    sudo yum install cmake gcc gcc-c++ libxml2-devel ncurses-devel perl-Data-Dumper boost boost-doc boost-devel

(1) PHP官網下載php源碼包
    wget http://hk1.php.net/get/php-7.1.5.tar.gz/from/this/mirror

(2) 解壓下載的源碼包至指定目錄
    sudo tar zxvf mirror -C /opt/

(3) 進入php解壓目錄,安裝php
    cd /opt/php-7.1.5/
    ./configure --prefix=/usr/local/php-7.1.5 --enable-fpm
    sudo make && sudo make install

(4) MySQL官網下載MySQL源碼包
    wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18.tar.gz

(5) 解壓下載的源碼包至指定目錄
    sudo tar zxvf mysql-5.7.18.tar.gz -C /opt/

(6) 下載安裝MySQL所需工具源碼包,並解壓
    下載地址: http://download.csdn.net/detail/oscer2016/9854622  
    sudo tar zxvf boost_1_59_0.tar.gz -C /usr/local/boost/

(7) 進入MySQL解壓目錄,安裝MySQL(新版MySQL使用cmake進行編譯)
    cmake \
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    -DMYSQL_DATADIR=/mydata/mysql/data \
    -DSYSCONFDIR=/etc \
    -DMYSQL_USER=mysql \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
    -DWITH_MEMORY_STORAGE_ENGINE=1 \
    -DWITH_READLINE=1 \
    -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \
    -DMYSQL_TCP_PORT=3306 \
    -DENABLED_LOCAL_INFILE=1 \
    -DENABLE_DOWNLOADS=1 \
    -DWITH_MEMORY_STORAGE_ENGINE=1 \
    -DCHARSETS=all \
    -DDOWNLOAD_BOOST=1 \
    -DWITH_BOOST=/usr/local/boost/ \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -DWITH_DEBUG=0 \
    -DMYSQL_MAINTAINER_MODE=0 \
    -DWITH_SSL:STRING=bundled \
    -DWITH_ZLIB:STRING=bundled

    # 執行make命令安裝MySQL
    sudo make && sudo make install

    如果是在服務器上安裝,可能會出現以下錯誤:

    c++: 編譯器內部錯誤:已殺死(程序 cc1plus)
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <http://bugzilla.redhat.com/bugzilla> for instructions.
    make[2]: *** [sql/CMakeFiles/sql.dir/item_geofunc.cc.o] 錯誤 4
    make[1]: *** [sql/CMakeFiles/sql.dir/all] 錯誤 2
    make: *** [all] 錯誤 2

    這是內存不足導致的,不要驚慌,解決方案詳見: http://www.justwinit.cn/post/8677/

    出現下面的錯誤是磁盤空間不足導致的(大約需要2G磁盤空間,刪些文件留夠空間即可):
    CMake Error at libmysqld/cmake_install.cmake:36 (FILE):
    file INSTALL cannot copy file "/opt/mysql-5.7.18/libmysqld/libmysqld.a" to
    "/usr/local/mysql/lib/libmysqld.a".
    Call Stack (most recent call first):
    cmake_install.cmake:121 (INCLUDE)

    make: *** [install] 錯誤 1


(7) 下載Apache源碼包及其所需工具源碼包並解壓安裝
    wget http://apache.fayea.com//httpd/httpd-2.4.25.tar.gz
    sudo tar zxvf httpd-2.4.25.tar.gz

    安裝Apache會提示需要apr和apr-util,下載解壓它們並移到指定文件夾:
    wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
    wget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz
    sudo tar zxvf apr-1.5.2.tar.gz
    sudo tar zxvf apr-util-1.5.4.tar.gz 
    mv apr-1.5.2 apr
    mv apr-util-1.5.4 apr-util
    mv apr apr-util httpd-2.4.25/srclib/

    下載所需依賴pcre:
     wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
     sudo tar zxvf pcre-8.40.tar.gz
     cd pcre-8.40/
     ./configure 
     sudo make && sudo make install

    接下來開始安裝Apache,進入Apache的解壓目錄,執行如下命令:
    ./configure --prefix=/usr.local/apache -with-pcre=/usr/local/pcre-8.40/bin/pcre-config -with-included-apr
    sudo make && sudo make install

至此,LAMP安裝完成。

3. 使用LAMP:

(1) 啓動Apache服務:
    cd /usr/local/apache/bin
    sudo ./apachectl -k start

    出現如下錯誤:
    /usr/local/apache/bin/httpd: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

    解決方法: http://blog.csdn.net/shanshu12/article/details/8003240

(2) 開啓防火牆
    systemctl status firewalld    # 查看防火牆狀態
    systemctl start firewalld    # 開啓防火牆狀態
    firewall-cmd --zone=public --add-port=80/tcp --permanent  # 開啓80端口

這裏寫圖片描述

(3) 訪問自己的IP(例如我的是123.207.157.135),效果如下:

這裏寫圖片描述

Apache服務啓動, 停止,重啓命令:
  /usr/local/apache/bin/apachectl start 啓動
  /usr/local/apache/bin/apachectl stop 停止
  /usr/local/apache/bin/apachectl restart 重啓

Note: 網頁的默認目錄在/usr/local/apache/htdocs, 將裏面的 index.html 備份(mv index.html index.html.bak), 然後將自己寫的網頁放入此目錄下, 默認訪問index.html(可以將自己網站的首頁命名爲 index.html), 如果註冊了域名,直接解析到此IP即可,效果如下:

這裏寫圖片描述

Apache,MySQL配置文件:
  apache: /usr/local/apache/conf/httpd.conf(或者/etc/httpd/conf 目錄下)
  mysql: /etc/my.cnf


Linux Red Hat系列發行版本電腦管理服務常用命令:

  service管理服務: 服務(apache | ssh | mysql) 啓動(停止 | 重啓 | 重載配置文件): service httpd (sshd | mysqld) start(stop | restart | reload)
  systemctl管理服務: 啓動(停止 | 重啓 | 重載配置文件) 服務(apache | ssh | mysql): systemctl start(stop | restart | reload) httpd (sshd | mysqld)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章