Deploy the php test environment on the ubuntu machine

Source: Internet
Author: User
Tags ldap
: This article describes how to deploy a php test environment on a ubuntu machine. if you are interested in the PHP Tutorial, refer to it. Deploy the php test environment on the ubuntu machine

I. Deployment environment

Ubuntu11.10 _ X86_32. Compile and install the appropriate software: nginx + mysql + php.

II. software installation

2.1 Software Download

Libiconv-1.14.tar.gz

Libmcrypt-2.5.7.tar.gz

Mcrypt-2.6.8.gz

Mhash-0.9.9.9.tar.gz

Mysql-5.5.39.tar.gz

Nginx-1.1.10.tar.gz

Pcre-8.20.tar.gz

Php-5.4.34.tar.gz

2.2 Environment configuration

The system is relatively pure. install necessary tools and software.

Apt-get install gcc g ++ ssh automake cmake build-essential autoconf make re2c wget cron bzip2 rcconf flex vim bison m4 mawk cpp binutils libncurses5 unzip tar libncurses5 libncurses5-dev libtool pclibre3 libssl-dev zlibc openssl libxml2-dev libltdl3-dev libpcre3 libpcrecpp0 libssl-dev zlibc openssl libxml2-dev libltdl3-dev libmcrypt-dev

2.3 auxiliary software installation

2.3.1 libiconv-1.14.tar.gz

Tar zxvf libiconv-1.14.tar.gz

Cd libiconv-1.14/

Cd libiconv-1.14/

./Configure -- prefix =/usr/local

Make

Make install

2.3.2 mhash-0.9.9.9.tar.gz

Tar zxvf mhash-0.9.9.9.tar.gz

Cd mhash-0.9.9.9

./Configure

Make

Make install

Cd ../

2.3.3 libmcrypt-2.5.8.tar.gz

Tar zxvf libmcrypt-2.5.8.tar.gz

Cd libmcrypt-2.5.8/

./Configure

Make

Make install

/Sbin/ldconfig

Cd libltdl/

./Configure -- enable-ltdl-install

Make

Make install

2.3.4 mcrypt-2.6.8.tar.gz

Tar zxvf mcrypt-2.6.8.tar.gz

Cd mcrypt-2.6.8/

/Sbin/ldconfig

./Configure

Make

Make install

2.3.5 pcre-8.10.tar.gz

Tar zxvf pcre-8.10.tar.gz

Cd pcre-8.10

./Configure

Make

Make install

2.4 install mysql

Groupadd mysql # Add a mysql Group

Useradd-g mysql-s/bin/false # Create a user mysql and add it to the mysql group. mysql users are not allowed to log on directly to the system.

Mkdir-p/data/mysql # Create a directory for storing MySQL databases

Chown-R mysql: mysql/data/mysql # set MySQL database directory permissions

Tar zxvf mysql-5.5.19.tar.gz

Cd mysql-5.5.19

Mkdir-p/usr/local/mysql # create the MySQL installation directory

Cmake-DCMAKE_INSTALL_PREFIX =/usr/local/mysql-DDEFAULT_CHARSET = utf8-DDEFAULT_COLLATION = utf8-unicode_ci-rows =/usr/local/mysql/data-rows = 1-rows = 1-DEXTRA_CHARSETS = all-DDEFAULT_CHARSET = utf8-DDEFAULT_COLLATION = utf8_general_ci-DSYSCONFDIR =/etc-DMYSQL_UNIX_ADDR =/tmp/mysqld. sock-dmysql _tcp_port = 3306

Make

Make install

Cp support-files/my-small.cnf/etc/my. cnf

/Usr/local/mysql/scripts/mysql_install_db -- user = mysql -- basedir =/usr/local/mysql -- datadir =/usr/local/mysql/data

/Usr/local/mysql/scripts/mysql_install_db -- user = mysql

Cd/usr/local/mysql

Cp./support-files/my-huge.cnf/etc/my. cnf # Copy the configuration file (Note: Under the/etc directory there is a default my. cnf, directly overwrite it)

Vi/etc/my. cnf # Edit the configuration file and add it in [mysqld ].

Datadir =/data/mysql # add the MySQL database path

./Scripts/mysql_install_db -- user = mysql # generate a mysql system database

Cp./support-files/mysql. server/etc/rc. d/init. d/mysqld # Add Mysql to the system to start

Chmod 755/etc/init. d/mysqld # Add execution permission

Start: bin/mysqld_safe-user = mysql &

Ln-s/usr/local/mysql/lib/mysql/usr/lib/mysql

Ln-s/usr/local/mysql/include/mysql/usr/include/mysql

Change password/usr/local/mysql/bin/mysqladmin-u root-p password "123456"

Error 1:

Solution:

2.5 install php

Apt-get install libfreetype6-dev libjpeg8-dev libpng12-dev slapd ldap-utils db5.1-util

Apt-get install libldap2-dev libsasl2-dev

. /Configure -- prefix =/usr/local/php -- with-config-file-path =/usr/local/php/etc -- with-mysql =/usr/local/mysql -- with-mysqli =/usr/local/mysql/bin/mysql_config -- with-iconv-dir =/usr/local -- with-freetype-dir -- with-jpeg-dir --- png-dir -- with-zlib -- with-libxml-dir =/usr -- enable-xml -- disable-rpath -- enable-discard-path -- enable-safe-mode -- enable-bcmath -- enable-shmop -- enable-sysvsem -- enable-inline-optimization -- with-curl -- with-curlwrappers -- enable-mbregex -- enable-fastcgi -- enable-fpm -- enable-force-cgi -redirect -- enable-mbstring -- with-mcrypt -- with-gd -- enable-gd-native-ttf -- with-openssl -- with-mhash -- enable-pcntl -- enable-sockets -- -ldap -- with-ldap-sasl -- with-xmlrpc -- enable-zip -- enable-soap -- disable-maintainer-zts

Error 1: configure: error: Please reinstall the libcurl distribution-easy. h shoshould be in/include/curl/

Solution: apt-get install curl

Apt-get install libcurl4-gnutls-dev

Apt-get install php5-curl

Error 2: ldap not found

Solution: delete ---- with-ldap in the configuration information.

Make ZEND_EXTRA_LIBS = '-liconv'

Make test

Make install

Cp php. ini-production/usr/local/php/etc/php. ini

Run the following command to view the PHP configuration and obtain the extension-dir Directory of the PHP extension:/usr/local/php/bin/php-config

The extension_dir = information is displayed here // http://www.pprar.com

Vi/usr/local/php/etc/php. ini

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

Create fastcgi configuration file

Cp/usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.conf

Modify fastcgi configuration file

6/usr/local/php/etc/php-fpm.conf

Remove comments for the following lines

Pid = run/php-fpm.pid

Error_log = log/php-fpm.log

Log_level = notice

Pm. start_servers

Pm. min_spare_servers

Pm. max_spare_servers

Modify the following two lines of the file. if fastcgi is enabled without modification, the error "fastcgi [pool www] cannot get gid for group 'nobody'" will be reported '"

User = nobody

Group = nobody

Change

User = www

Group = www

Error 1: "fastcgi [pool www] cannot get gid for group 'WWW '"

Solution: Create users and groups by yourself.

Sudo useradd www

Start fastcgi

/Usr/local/php/sbin/php-fpm

ERROR 2: ERROR: unable to bind listening socket for address '2017. 0.0.1: 127 ': Address already in use (98)

ERROR: FPM initialization failed

Solution: netstat-lntup | grep 9000

Killall php-fpm

Error 3: couldn't load module:/usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so:/usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: no such file or directory

Solution: 1) install getlibs

Download: getlibs-all.deb

Run: sudo dpkg-I -- force-all getlibs-all.deb

Sudo apt-get update getlibs aapt

2) install the 32-bit Library

Getlibs-p gnome-keyring: i386

3) generate symbolic links

Sudo ln-s/usr/lib32/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so

2.6 install Nginx

Tar zxvf nginx-1.1.10.tar.gz

Cd nginx-1.1.10/

./Configure -- user = www -- group = www -- prefix =/usr/local/nginx -- with-http_stub_status_module

Make

Make install

Start Nginx

/Usr/local/nginx/sbin/nginx-c/usr/local/nginx/conf/nginx. conf

Restart the service:/usr/local/nginx/sbin/nginx

Stop Service: killall nginx

3. Application Deployment

3.1 environment deployment

Vi/usr/local/nginx/conf/nginx. conf

Add

Server {

Listen 7070; # Internet access port number

Server_name blue-desk.com.cn;

Location /{

Root/usr/local/src/wwwroot; # address of the application

Index index.html index.htm I index. php;

}

Error_page 500 502 503 x.html;

Location =/50x.html {

Root html;

}

Location ~ \. Php $ {

Root/usr/local/src/wwwroot; # address of the application

Fastcgi_pass 10.128.7.101: 9000; # port number associated with php-fpm, php-fpm configuration in/usr/local/php/etc/php-fpm.conf

Fastcgi_index index. php;

Fastcgi_param SCRIPT_FILENAME/usr/local/src/wwwroot $ fastcgi_script_name; #/usr/local/src/wwwroot application address

Include fastcgi_params;

}

}

3.2 configure the application

Onethink application configuration

Database name: mysql

Username: root

Database password: 123456

The above describes how to deploy the php test environment on the ubuntu machine, including some content, and hope to help those who are interested in the PHP Tutorial.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.