原文:http://www.php-note.com/article/detail/967
Ubuntu 14 编译安装 PHP 5.4.45 + Nginx 1.8.0/1.4.7 + MySQL 5.6.26 笔记,主要是给自己的PC机安装,非生产环境!
一、下载必要的源码
1.1.下载PHP
1 | wget -c http://cn2.php.net/distributions/php-5.4.45.tar.gz |
1.2.下载Nginx
1 | wget -c http://nginx.org/download/nginx-1.4.7.tar.gz |
1.3.下载MySQL
1 | wget -c http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz |
2、PHP库
01 | wget -c http://www.ijg.org/files/jpegsrc.v9.tar.gz |
02 | wget -c http://prdownloads.sourceforge.net/libpng/libpng-1.6.2.tar.gz |
03 | wget -c http://download.savannah.gnu.org/releases/freetype/freetype-2.4.12.tar.gz |
04 | wget -c http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz |
05 | wget -c http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz |
06 | wget -c http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz |
07 | wget -c http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz |
08 | wget -c ftp://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz |
09 | wget -c http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz |
10 | wget -c http://ftp.gnu.org/gnu/m4/m4-latest.tar.gz |
11 | wget -c http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz |
12 | wget -c http://pecl.php.net/get/memcache-2.2.7.tgz |
3、Nginx库
3.1.正则表达式库 PERL 5 regular expression pattern matching
官网:http://sourceforge.net/projects/pcre/files/pcre/,下载
1 | wget -c ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.bz2 |
3.2.zbli压缩
1 | wget -c http://prdownloads.sourceforge.net/libpng/zlib-1.2.8.tar.gz |
3.3.openssl
1 | wget -c ftp://ftp.openssl.org/source/openssl-1.0.2.tar.gz |
【源码存放路径 规划】
/opt/software-backup/lnmp/
/config #配置文件 存放地
/source #源码包 存放地
/source2 #源码包 拷贝 存放地,解压后的文件都在这
/lib/
/autoconf-latest.tar.gz
/m4-latest.tar.gz
/termcap-1.3.1.tar.gz
/mysql/
/mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz
/nginx/
/ext/
/nginx-gridfs/
/mongo-c-driver-0.3.1.tar.gz
/nginx-gridfs-0.8.tar.gz
/lib/
/openssl-1.0.2.tar.gz
/pcre-8.38.tar.bz2
/zlib-1.2.8.tar.gz
/nginx-1.4.7.tar.gz
/php/
/ext/
/memcache-2.2.7.tgz
/lib/
/bzip2-1.0.6.tar.gz
/freetype-2.4.12.tar.gz
/jpegsrc.v9.tar.gz
/libiconv-1.14.tar.gz
/libmcrypt-2.5.8.tar.gz
/libpng-1.6.2.tar.gz
/mcrypt-2.6.8.tar.gz
/mhash-0.9.9.9.tar.gz
/php-5.4.45.tar.gz
二、安装Nginx
01 | sudo apt-get install libpcre3 libpcre3-dev |
02 | sudo apt-get install libssl-dev openssl libcurl4-openssl-dev |
03 | sudo apt-get install build-essential libtool |
06 | cd /opt/software-backup/lnmp/source2/nginx/lib |
07 | sudo tar -xjvf ./pcre-8.38.tar.bz2 |
10 | sudo make && sudo make install |
13 | cd /opt/software-backup/lnmp/source2/nginx/lib |
14 | sudo tar -xzvf ./zlib-1.2.8.tar.gz |
17 | sudo make && sudo make install |
20 | cd /opt/software-backup/lnmp/source2/nginx/lib |
21 | sudo tar -xzvf ./openssl-1.0.2.tar.gz |
30 | sudo tar -xzvf ./mongo-c-driver-0.3.1.tar.gz |
31 | sudo mv ./mongo-c-driver-0.3.1/* ./nginx-gridfs-0.8/mongo-c-driver |
38 | cd /opt/software-backup/lnmp/source2/nginx |
39 | sudo tar -xzvf ./nginx-1.4.7.tar.gz |
41 | sudo mkdir /opt/software/nginx |
43 | sudo ./configure --prefix=/opt/software/nginx --user=jianbao --group=jianbao --sbin-path=/opt/software/nginx/nginx --conf-path=/opt/software/nginx/conf/nginx.conf --pid-path=/opt/software/nginx/logs/nginx.pid --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-pcre=/opt/software-backup/lnmp/source2/nginx/lib/pcre-8.38 --with-zlib=/opt/software-backup/lnmp/source2/nginx/lib/zlib-1.2.8 --with-openssl=/opt/software-backup/lnmp/source2/nginx/lib/openssl-1.0.2 |
45 | sudo make && sudo make install |
48 | sudo cp -rf /opt/software-backup/lnmp/config/nginx.conf /opt/software/nginx/conf/nginx.conf |
54 | sudo mkdir /opt/software/nginx/conf/vhost |
57 | sudo chmod -R +x /opt/software/nginx/ |
58 | sudo chown -R jianbao:jianbao /opt/software/nginx |
61 | sudo cp -rf /opt/software-backup/lnmp/config/nginx /etc/init.d/nginx |
62 | sudo update-rc.d nginx defaults |
63 | sudo service nginx start |
三、安装MySQL
02 | sudo apt-get install libaio-dev |
05 | sudo mkdir /opt/software/mysql |
06 | cd /opt/software-backup/lnmp/source2/mysql |
07 | tar -xzvf ./mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz |
08 | sudo mv ./mysql-5.6.26-linux-glibc2.5-x86_64/* /opt/software/mysql |
12 | sudo useradd -g mysql -s /usr/sbin/nologin mysql |
13 | sudo chown -R mysql:mysql /opt/software/mysql/ |
16 | sudo /opt/software/mysql/scripts/mysql_install_db --basedir=/opt/software/mysql --datadir=/opt/software/mysql/data --user=mysql |
19 | sudo sed -i "s#/usr/local/mysql#/opt/software/mysql#g" /opt/software/mysql/bin/mysqld_safe |
23 | sudo sed -i "s#basedir=/usr/local/mysql#basedir=/opt/software/mysql#g" /etc/init.d/mysqld |
24 | sudo sed -i "s#datadir=/usr/local/mysql/data#datadir=/opt/software/mysql/data#g"/etc/init.d/mysqld |
25 | sudo sed -i "s#bindir=/usr/local/mysql/bin#bindir=/opt/software/mysql/bin#g"/etc/init.d/mysqld |
26 | sudo sed -i "s#libexecdir=/usr/local/mysql/bin#libexecdir=/opt/software/mysql/bin#g"/etc/init.d/mysqld |
29 | sudo cp /opt/software-backup/lnmp/config/my.cnf /opt/software/mysql/ |
32 | sudo cp /opt/software/mysql/support-files/mysql.server /etc/init.d/mysqld |
33 | sudo update-rc.d mysqld defaults |
34 | sudo service mysqld start |
37 | sudo /opt/software/mysql/bin/mysqladmin -u root password |
四、安装PHP
06 | sudo apt-get install libxml2-dev libjpeg-dev libpng-dev libfreetype6-dev |
09 | cd /opt/software-backup/lnmp/source2/php/lib |
10 | sudo tar -xzvf ./libmcrypt-2.5.8.tar.gz |
12 | sudo ./configure --prefix=/usr |
13 | sudo make && sudo make install |
16 | cd /opt/software-backup/lnmp/source2/php/lib |
17 | sudo tar -xzvf ./mhash-0.9.9.9.tar.gz |
19 | sudo ./configure --prefix=/usr |
20 | sudo make && sudo make install |
24 | cd /opt/software-backup/lnmp/source2/php/lib |
25 | sudo tar -xzvf ./mcrypt-2.6.8.tar.gz |
28 | sudo make && sudo make install |
31 | cd /opt/software-backup/lnmp/source2/php/lib |
32 | sudo tar -xzvf ./libiconv-1.14.tar.gz |
34 | sudo ./configure --prefix=/usr |
35 | sudo make && sudo make install |
38 | cd /opt/software-backup/lnmp/source2/php/lib |
39 | sudo tar -xzvf ./bzip2-1.0.6.tar.gz |
41 | sudo make && sudo make install |
46 | cd /opt/software-backup/lnmp/source2/php |
47 | sudo tar -xzvf ./php-5.4.45.tar.gz |
51 | sudo ./configure --prefix=/opt/software/php --with-config-file-path=/opt/software/php/etc --with-openssl --with-zlib --with-bz2 --with-gd --with-jpeg-dir --with-png-dir --with-gettext --with-mhash --with-freetype-dir --with-mcrypt --with-iconv --with-curl --with-curlwrappers --with-xmlrpc --with-mysql=/opt/software/mysql --with-pdo-mysql=/opt/software/mysql --with-mysqli=/opt/software/mysql/bin/mysql_config --enable-zip --enable-mbstring --enable-mbregex --enable-bcmath --enable-soap --enable-sockets --enable-ftp --enable-gd-native-ttf --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-fpm --with-fpm-user=jianbao --with-fpm-group=jianbao --without-pear |
54 | sudo make && make install |
60 | sudo mv /etc/php.ini /etc/php.ini.old |
61 | sudo cp -rf /opt/software-backup/lnmp/config/php.ini /opt/software/php/etc/php.ini |
62 | sudo ln -s /opt/software/php/etc/php.ini /etc/php.ini |
68 | sudo cp -rf /opt/software-backup/lnmp/config/php-fpm.conf /opt/software/php/etc/php-fpm.conf |
71 | sudo cp -rf /opt/software-backup/lnmp/config/php-fpm /etc/init.d/php-fpm |
72 | sudo chmod +x /etc/init.d/php-fpm |
73 | sudo update-rc.d php-fpm defaults |
75 | sudo service php-fpm start |
76 | sudo service nginx restart |
78 | sudo cp -rf /opt/software-backup/lnmp/source2/index.php /opt/software/nginx/html |
79 | sudo chmod -R +x /opt/software/nginx/html |
80 | sudo chown -R jianbao:jianbao /opt/software/nginx/html |