LAMP環境源碼編譯安裝過程


LAMP環境源碼編譯安裝過程

一、Apache的安裝

1.1、apache軟件包及依賴包准備

 httpd-2.4.29.tar.bz2       apr-1.6.3.tar.gz      apr-util-1.6.1.tar.bz2        pcre-8.10.tar.gz   這三個依賴包安裝時最好指定安裝路徑,在安裝httpd的時候需要指定依賴包的安裝位置。

這些軟件可以下載到/usr/local/src.解壓之后在進行安裝。安裝路徑一般放在/usr/local/下。

1.2、安裝環境准備。

命令:yum -y install gcc gcc-c++ make 

安裝依賴包:

apr-1.6.3.tar.gz

1 [root@server1 src]# tar -xvpzf apr-1.6.3.tar.gz
2 [root@server1 src]# cd apr-1.6.3/ 3 [root@server1 apr-1.6.3]# ./configure --prefix=/usr/local/apr && make && make install 

apr-util-1.6.1.tar.bz2

1 [root@server1 src]# tar -xvpjf apr-util-1.6.1.tar.bz2
2 [root@server1 src]# cd apr-util-1.6.1/
3 [root@server1 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util && make && make install 

pcre-8.10.tar.gz

1 [root@server1 src]# tar -xvpzf pcre-8.10.tar.gz2 [root@server1 src]# cd pcre-8.10/
3 [root@server1 pcre-8.10]# ./configure --prefix=/usr/local/pcre && make && make install

1.3、apache安裝過程

1 [root@server1 httpd-2.4.29]# tar -xvpjf httpd-2.4.29.tar.bz2
2 [root@server1 src]# cd httpd-2.4.29/
3 [root@server1 httpd-2.4.29]# ./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre  && make && make install

1.4、將apache的命令放到環境變量中,是的apache的命令可以直接執行,復制apache的控制腳本,使得控制命令常規化。修改控制腳本文件,使其可以使用。

1 ln -s /usr/local/httpd/bin/* /usr/sbin/                        #將安裝路徑/usr/local/httpd/bin/下的所有命令創建一個軟鏈接到環境變量/usr/sbin/
2 cp -a  /usr/local/httpd/bin/apachectl /etc/init.d/httpd        #將腳本控制文件拷貝到/etc/init.d/下並命名為httpd,一般我們可以通過/etc/init.d/httpd restart/start/stop來控制httpd服務的重啟等。
3 chmod +x /etc/init.d/httpd #賦予執行權限
4 vim /etc/init.d/httpd

1.5、修改apache主配置文件/usr/local/httpd/conf/httpd.conf。

1.6、啟動httpd服務,並配置為開機啟動。

1.7、查看httpd服務是否已經啟動。

httpd服務正在運行!Apache安裝完成!

1.8、客戶端測試訪問html頁面。

在網頁根目錄下創建一個index.html的主頁文件。

[root@server1 httpd-2.4.29]# cat <<END> /usr/local/httpd/htdocs/index.html
> <font color=red><h1>歡迎來到刺激戰場,飛機就要起飛了,請准備。
> <font color=blue><h1>哎呀媽呀!落地成盒了!
> END
[root@server1 httpd-2.4.29]# 

以上命令是通過輸出重定向和輸入追加重定向的方式將html腳本語言寫入到index.html文件中。

客戶端訪問網頁:

 

二、myql安裝過程

 2.1、准備環境和安裝依賴包

命令:

yum -y install cmake make gcc gcc-c++ perl ncurses-devel openssl-devel bison-devel libaio libaio-devel

  mysql源碼包下載地址:

https://downloads.mysql.com/archives/get/file/mysql-5.7.27.tar.gz

2.2、編譯安裝mysql

  現將下載好的mysql源碼包上傳到linux服務器,或者直接用wget進行下載。

命令:

wget https://downloads.mysql.com/archives/get/file/mysql-5.7.27.tar.gz

我一般將安裝包下載到/usr/lcoal/src/目錄中。

  源碼包解壓:

命令:

tar -xf mysql-5.7.27.tar.gz

  開始編譯安裝

編譯命令:

1 [root@node3 src]# cd mysql-5.7.27/
2 [root@node3 mysql-5.7.27]# 
3 [root@node3 mysql-5.7.27]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_BOOST=/usr/local/boost -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
4 [root@node3 mysql-5.7.27]# 
5 [root@node3 mysql-5.7.27]# 
6 [root@node3 mysql-5.7.27]# 
7 [root@node3 mysql-5.7.27]# make && make install
8 [root@node3 mysql-5.7.27]# 

創建運行mysql的用戶

命令:

1 [root@node3 local]# useradd mysql -s /sbin/nologin                       #創建用戶mysql,並制定shell為/sbin/nologin,這樣mysql這個用戶就不能被用於登錄linux系統
2 [root@node3 local]# id mysql                          #查看mysql用戶信息
3 uid=1001(mysql) gid=1001(mysql) groups=1001(mysql)
4 [root@node3 local]# chown -R mysql:mysql mysql/               #因為要用mysql這個用戶運行,所以要將/usr/local/mysql的所屬組和所屬主改為mysql用戶,mysql才有寫的權限

 創建logs,pids,tmp目錄,用於存放日志文件,進程id文件。

命令:mkdir /usr/local/mysql/{logs,pids,tmp}

創建編輯配置文件/etc/my.cnf

 

 

為了能夠直接調用mysql命令,我們需要將/usr/local/mysql/bin添加到環境變量中。編輯/etc/profile,添加“export PATH=/usr/local/mysql/bin:$PATH

 

 數據庫初始化

命令:/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid --tmpdir=/usr/local/mysql/tmp

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid --tmpdir=/usr/local/mysql/tmp

初始化完成后,最后一行會提示mysql數據庫root賬戶的初始密碼。請注意保存。也可以在mysql日志文件中查找。這里日志文件是/usr/local/mysql/logs/error.log。使用命令cat /usr/local/mysql/logs/error.log |grep password。可以找到包含密碼的那一段。密碼是一段亂碼,無規律的。

 

 啟動腳本配置,開啟mysql。

命令:mysql -uroot -pdYqXgQjrP0?#

mysql -uroot -pdYqXgQjrP0?#

 

 

 

修改root密碼,因為這個默認密碼太過復雜,無法記憶,需要將密碼改為自己熟悉的密碼。

命令:mysqladmin -uroot -pdYqXgQjrP0?# password "123456"

mysqladmin -uroot -pdYqXgQjrP0?# password "123456" 

 

 四、安裝時遇到的問題

4.1、cmake編譯時報以下錯誤

 

 問題描述:高版本mysql需要boots庫的安裝才可以正常運行

解決辦法是:
1.在/usr/local下創建一個名為boost的文件夾
    mkdir -p /usr/local/boost
2.進入這個新創建的文件夾然后下載boost
    wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
3.解壓

    tar -xvzf boost_1_59_0.tar.gz

  注意:解壓時會會有個子目錄boost,需要將子目錄boost中的內容拷貝到/usr/local/boost/,不然你解壓后的內容在/usr/local/boost/boost/目錄下,這樣你在下面的需要將“-DWITH_BOOST=/usr/local/boost”改為“-DWITH_BOOST=/usr/local/boost/boost”

4.編譯安裝時加上"-DWITH_BOOST=/usr/local/boost"。

  這樣編譯時就不會報這個錯了。

編譯命令:

 

 1 [root@node3 src]# 
 2 [root@node3 src]# cd mysql-5.7.27/
 3 [root@node3 mysql-5.7.27]# 
 4 [root@node3 mysql-5.7.27]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_BOOST=/usr/local/boost -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
 5 [root@node3 mysql-5.7.27]# 
 6 [root@node3 mysql-5.7.27]# 
 7 [root@node3 mysql-5.7.27]# 
 8 [root@node3 mysql-5.7.27]# make && make install
 9 [root@node3 mysql-5.7.27]# 
10 [root@node3 mysql-5.7.27]# 
11 [root@node3 mysql-5.7.27]# 
12 [root@node3 mysql-5.7.27]# 

 命令中的紅色字體就是解決這個報錯的關鍵。但是必須要有這個目錄/usr/local/boost的存在。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM