ubuntu經過apt-get方式搭建lnmp環境以及php擴展安裝

 一直是在用的lnmp的集成安裝包搭建lnmp環境,由於工做須要須要安裝ldap擴展,在網上怎麼都找不到源碼安裝包,只能卸載掉原來的lnmp環境,用ubuntu的php5-ldap擴展,php

在安裝中遇到一些問題,網上的文章坑爹的比較多,寫篇文章記錄下來。html

       

1.安裝mysqlmysql

sudo apt-get install mysql-server mysql-clien

安裝過程當中要輸入root用戶的密碼。nginx

我在安裝中出錯,是原來的mysql-cilent mysql-workbench 未徹底卸載,將mysql組件徹底卸載的方法:sql

刪除mysql前 先刪除一下 /var/lib/mysql 還有 /etc/mysqlapache

sudo rm /var/lib/mysql/ -R  
sudo rm /etc/mysql/ -R  
  
sudo apt-get autoremove mysql* --purge  
sudo apt-get remove apparmor

所有刪除以後再執行  apt-get install mysql-server mysql -client ubuntu

2.安裝nginx服務器

sudo apt-get install nginx

3.安裝成功後。咱們重啓下nginx服務app

sudo service nginx restart

啓動以後咱們就能夠訪問如下咱們的地址了。看能不能出現nginx的歡迎界面。curl

4.這裏咱們使用php5-fpm來做爲咱們的php解析。

sudo apt-get install php5-fpm

5.接下來咱們要修改一下nginx的站點配置了。

ngnix的配置文件存放在/etc/nginx/sites-availble/default

    server { 

            listen   80; ## listen for ipv4; this line is default and implied 

            listen   [::]:80 default ipv6only=on; ## listen for ipv6 

            root /usr/share/nginx/www; 

            index index.php index.html index.htm; 

            # Make site accessible from http://localhost/ 

            server_name _; 

            location / { 

                    # First attempt to serve request as file, then 

                    # as directory, then fall back to index.html 

                    try_files $uri $uri/ /index.html; 

            } 

            location /doc { 

                    root /usr/share; 

                    autoindex on; 

                    allow 127.0.0.1; 

                    deny all; 

            } 

            #error_page 404 /404.html; 

            # redirect server error pages to the static page /50x.html 

            # 

            error_page 500 502 503 504 /50x.html; 

            location = /50x.html { 

                    root /usr/share/nginx/www; 

            } 

            # proxy the PHP scripts to Apache listening on 127.0.0.1:80 

            # 

            #location ~ \.php$ { 

            #       proxy_pass http://127.0.0.1; 

            #} 

            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 

            # 

            location ~ \.php$ { 

                    try_files $uri =404; 

                    # With php5-cgi alone:
                    # fastcgi_pass 127.0.0.1:9000;
                    # With php5-fpm:
                    # fastcgi_pass unix:/var/run/php5-fpm.sock; 

                    fastcgi_index index.php; 

                    include fastcgi_params; 

            } 

            # deny access to .htaccess files, if Apache's document root 

            # concurs with nginx's one 

            # 

            location ~ /\.ht { 

                    deny all; 

            } 

    }

6.咱們在安裝php5相關的一些組件。

sudo apt-cache search php5 
apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

7.重啓服務

sudo service php5-fpm restart 
sudo service nginx restart


測試,如今應該已經安裝成功了。


PHP擴展的安裝方式一般分爲兩種:
1. 隨同PHP編譯
2. 生成單獨的.so文件
這裏介紹第二種方式,對於第二種方式執行效率可能低些,可是模塊化,就是能夠保持php安裝不變的狀況下,經過php.ini鏈接單獨生成的so文件實現擴展,
好比您已經經過了tar包方式安裝了php,那麼如今想增長擴展:

安裝CURL擴展
I. 生成動態連接庫文件.SO
方法以下:
方法1. apt-get install php5-curl
方法2. 去PHP網站下載tar包,phpize本地編譯生成.so
方法3. pear方式安裝,經過pecl命令去在線下載編譯生成.so


方法1在ubuntu下是最簡單的,命令執行完會告知.so所在目錄

II. 配置php.ini
打開php.ini,指定extension_dir目錄,若是extension_dir = '/usr/lib',那麼接下來把生成的.so文件(如curl.so)複製到/usr/lib目錄下,而且加入一個新條目:
extension=curl.so

III. 使之生效
從新啓動apache,運行phpinfo()看是否生效

安裝PDO_MYSQL擴展

採用pear方式安裝
I. 安裝pear
apt-get install php-pear 若是沒有pear要先安裝pear
II. 安裝pdo,pdo_mysql
pecl install pdo pecl install pdo_mysql
生成.so複製到/usr/lib目錄下.

若是沒有安裝php和mysql的開發包,在執行第II步以前還須要安裝
apt-get install php5-devapt-get install libmysqlclient15-dev
III. 修改配置文件php.ini
增長條目
extension=pdo.so
extension=pdo_mysql.so
IV. 使之生效
從新啓動apache,運行phpinfo()看是否生效

在php5.2.10中,php默認已經安裝了pdo,因此extension=pdo.so不加,可是發現和本身生成的pdo_mysql.so不匹配錯誤,解決辦法是:
從新安裝php,增長參數--disable-pdo 禁止pdo模塊,用本身前面生成pdo.so,pdo+mysql.so就OK了

安裝ImageMagic擴展

採用pear方式安裝
I. 安裝ImageMagick
sudo apt-get install imagemagick

II. 安裝imagemagick 的lib 供php調用
sudo apt-get install libmagick++-dev

III. 調用當前的pecl安裝imagick
pecl install imagick

IV. 修改php.ini.重啓apache服務器
在php.ini中添加: extension = imagick.so


phpize的安裝

phpize是屬於php-devel的內容,因此只要運行
apt-get install php-devel就行。ubuntu 下是 apt-get install php-dev

我安裝的時候裝的是php5-dev

裝完以後是用phpize5來裝本身編寫的php擴展

相關文章
相關標籤/搜索