Linux源代碼編譯

1、lamp編譯php

linux+apache+mysql+phphtml

經過appchae可以找到php來解析php腳本,經過php來操做數據庫mysql

一、安裝gcc編譯器linux

linux下源代碼C語言如何編譯c++

查看內存  free sql

查看硬盤  fdisk -l數據庫

查看掛載狀況  df -hapache

編譯過程:生成配置文件、編譯、安裝api

在軟件安裝包裏 .h文件是C語言的函數庫瀏覽器

以安裝appache   httpd爲例:進入到軟件包中,使用: ./configure  --prefix=/usr/local/httpd2_name       定義配置文件-安裝路徑、

make 開始編譯

make install 開始安裝

二、安裝appache軟件包

檢查系統是否已經安裝了lamp環境

Rpm -qa|grep httpd

Rpm -qa|grep mysql

Rpm -qa|grep php

卸載已經卸載的httpd/mysql/php

yum remove htpd

yum remove mysql

yum remove php

 

源代碼的包刪除時直接刪除安裝目錄

 

三、lamp 安裝

包的下載    密碼:zdov

安裝

libxml2-2.6.30

tar  -xvzf  libxml2-2.6.30.tar 

cd libxml2-2.6.30

./configure --prefix=/usr/local/libxml/

make

make install

完成安裝

libmcrypt-2.5.8

tar  -xvzf  libmcrypt-2.5.8.tar 

cd libmcrypt-2.5.8

./configure --prefix=/usr/local/libmcrypt/

make

make install

完成安裝

如遇報錯:error: C++ compiler cannot create executables

緣由分析:組件沒有安裝徹底

解決措施:yum install gcc gcc-c++ gcc-g77      

注意:個人yum源是

name=rhl-medi
baseurl=file:///media   #掛載了光盤     提取密碼:x7vl
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

安裝libledl 在libmcrypt源碼目錄中

cd libmcrypt-2.5.8/libltdl

./configure  --enable-ltdl-install   

make

make install

安裝zlib-1.2.3

cd zlib-1.2.3

./configure 

make

make install

安裝libpng

cd libpng-1.2.31/

./configure --prefix=/usr/local/libpng/

make

make install

會報錯:make[1]: *** [libpng12.la] Error 1

問題:操做系統

解決措施:

cd zlib-1.2.3 //進入zlib目錄
CFLAGS="-O3 -fPIC" ./configure 
make
make install
再出來,安裝libpng

安裝jpeg6

mkdir /usr/local/jpeg6

mkdir /usr/local/jpeg6/bin

mkdir /usr/local/jpeg6/lib

mkdir /usr/local/jpeg6/include

mkdir -p /usr/local/jpeg6/man/man1

cd /jpeg-6b

./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static

make

make install

若是報錯:./libtool --mode=compile gcc -O2  -I. -c ./jcapimin.c      *** [jcapimin.lo] Error 127

問題:libtool 工具包過期

解決措施:新解壓libtool工具包,源碼安裝

unzip libtool242.zip

cd libtool

./configure

make

make install

cd jpeg-6b/

cp /usr/local/share/libtool/config/config.sub . 
cp /usr/local/share/libtool/config/config.guess .
再次執行安裝jpeg6
./configure  --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
make
make install

七、安裝freetype

cd freetype-2.3.5/

./configure --prefix=/usr/local/freetype/

make

make install

八、安裝autoconf

cd /autoconf/

./configure

make

make install

九、安裝GD

mkdir /usr/local/gd2

cd  gd-2.0.35

vi gd_png.c

   寫入:

    用    #include "/usr/local/libpng/include/png.h"   替換掉  #include "png.h"

./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/ --with-png=/usr/local/libpng/

make

make install

 

3、接下來安裝appache(http)

 tar -xvf httpd-2.2.9.tar.gz 

cd /httpd-2.2.9

 ./configure --prefix=/usr/local/appache2/ --sysconfdir=/usr/local/appache2/etc/ --with-included-apr --enable-dav --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared

make

make install

vi /etc/rc.d/rc.local

添加:/usr/local/appache2/bin/apachectl start   開機啓動httpd服務

/usr/local/appache2/etc  存放配置文件

/usr/local/appache2/htdocs存放網站根目錄

 

4、安裝mysql源碼安裝

一、安裝neurses

yum -y install ncurses*

二、編譯安裝

tar -xvf  mysql-5.5.20.tar.gz

cd /mysql-5.5.20

建立用戶組:

  1. groupadd mysql              //因此在這裏咱們要建一個msyql的用戶和組  
  2. useradd -g mysql mysql -s /usr/sbin/nologin  
  3. mkdir /usr/local/mysql           //建立目錄  
  4. mkdir /usr/local/mysql/data              //數據倉庫目錄

執行安裝命令:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk  -DWITH_MYISAM_STORAGE_ENGINE=1  -DWITH_INNOBASE_STORAGE_ENGINE=1  -DWITH_MEMORY_STORAGE_ENGINE=1  -DWITH_READLINE=1  -DENABLED_LOCAL_INFILE=1   -DMYSQL_DATADIR=/usr/local/mysql/data   -DMYSQL_USER=mysql   -DMYSQL_TCP_PORT=103306   

注意:一行寫完,若換行 需加 ‘\’

make

make install   

  1. //安裝mysql默認的數據庫  
  2. /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql  
  3. cp support-files/my-medium.cnf /usr/local/mysql/my.cnf     //copy配置文件  
  4. chown -R mysql:mysql /usr/local/mysql    //更改權限  
  5. nano /usr/local/mysql/my.cnf  //加上如下內容  
  6. 在[mysqld下]  加上如下內容
  7. basedir = /usr/local/mysql  
  8. datadir = /usr/local/mysql/data  
  9. log-error = /usr/local/mysql/mysql_error.log  
  10. pid-file = /usr/local/mysql/mysql.pid  
  11. user = mysql  
  12. tmpdir  = /tmp

啓動mysql     my.cnf配置文件

  1. cd /usr/local/mysql/support-files/  
  2. cp ./mysql.server /etc/init.d/mysql5  
  3. /etc/init.d/mysql5 start
  4. 修改密碼:/usr/local/mysql/bin/mysqladmin -uroot password sn123456
  5. 測試登陸  /usr/local/mysql/bin/mysql -u root  -psn123456 test   #p後邊無間隙的

如下兩句沒什麼用

Setfacl -m u:mysql:rwx -R /usr/local/mysql   這隻只要之後加到mysql用戶組中的用戶都對該目錄由全部權

Setfacl -m d:u:mysql:rwx -R /usr/local/mysql

 

6、安裝PHP

一、安裝libtool-Itdl軟件包

進入 media 下的 Package 下

rpm -ivh libtool-ltdl-*

yum -install libtool-Itdl*

 cd php-5.3.22/

./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/appache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml/ --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-mcrypt=/usr/local/libmcrypt/  --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets

make 

make install

cp /tmp/mysource/yianzhuang/php-5.3.22/php.ini-development   /usr/local/php/etc/php.ini

 

7、修改Apache 支持PHP擴展庫

一、修改http.conf

vi /usr/local/appache2/etc/httpd.conf

AddType application/x-httpd-php .php .phps

二、mv phpMyAdmin.zip /usr/local/appache2/htdocs/

三、 cd /usr/local/appache2/htdocs/

mv index.html test.php bak/

四、unzip  phpMyAdmin.zip 

五、mv phpMyAdmin phpmyadmin

六、rm -rf phpMyAdmin.zip

修改啓動首頁:

vi /usr/local/appache2/etc/httpd.conf

找到

 

修改成:

 DirectoryIndex  index.php  index.html

 

8、編譯安裝PDO——mysql模塊

  一、cd PDO_MYSQL-1.0.2/

二、PDO_MYSQL-1.0.2]# /usr/local/php/bin/phpize

這個結果仍是須要的

三、vi /usr/local/php/etc/php.ini

找到 extension_dir

添加:extension_dir = "/usr/local/php//lib/php/extensions/no-debug-non-zts-20090626/"

extension=pdo_mysql.so

 

9、安裝phpmyadmin進行mysql管理

unzip  phpMyAdmin-4.0.10.20-all-languages.rar

mv phpMyAdmin-4.0.10.20-all-languages  /usr/local/appache2/htdocs/phpmyadmin

cd /usr/local/appache2/htdocs/phpmyadmin/libraries

vi config.default.php

找到:

$cfg['Servers'][$i]['host'] = '192.168.153.2';#修改成mysql安裝服務器地址
$cfg['Servers'][$i]['port'] = '13306'; #修改成修改後的mysql端口

進行修改,保存

在瀏覽器輸入:http://192.168.153.2:10080/phpmyadmin

能夠登陸密碼訪問

相關文章
相關標籤/搜索