源码包方式编译LAMP

半原创的东西。

根据兄弟连李明老师的视频,根据自己的情况再整理了一下。

Linux掌握的还很渣,大家看着参考一下就好了。

我的环境是64位的Debian8.5。

系统装完之后把这些工具带上,虽然不见得都会用到:

cmake,make,gcc,g++,bison,libtool,zip,tar,dos2unix,wget,vim

用到的源码包如下:

autoconf-2.61.tar.gz
freetype-2.3.5.tar.gz
gd-2.0.35.tar.gz
httpd-2.2.4.tar.gz
jpegsrc.v9a.tar.gz
libmcrypt-2.5.8.tar.gz
libpng-1.2.31.tar.gz
libxml2-2.6.30.tar.gz
mysql-5.5.44.tar.gz
ncurses-5.6.tar.gz
php-5.3.5.tar.gz
phpMyAdmin-3.4.10.2-all-languages.tar.gz
zlib-1.2.5.1.tar.gz

在root目录下建一个文件夹lamp-src,把源码包都放进去。完了之运行一下安装脚本就可以了。

#!/bin/bash

cd /root/lamp-src
ls *.tar.gz > ls.list
for TAR in `cat ls.list`
do
        tar -zxf $TAR && echo "$TAR unpackage ok" >> /root/i.log || echo "$TAR unpackage not ok" >> /root/i.log || exit 0
done

cd /root/lamp-src/libxml2-2.6.30/
./configure --prefix=/usr/local/libxml2/ && echo " libxml2 configure ok" >> /root/i.log && make && echo " libxml2 make ok" >> /root/i.log && make install && echo " libxml2 make install ok" >> /root/i.log

cd /root/lamp-src/libmcrypt-2.5.8/
./configure --prefix=/usr/local/libmcrypt && echo " libmcrypt configure ok" >> /root/i.log && make && echo " libmcrypt make ok" >> /root/i.log && make install && echo " libmcrypt make install ok" >> /root/i.log


cd /root/lamp-src/libmcrypt-2.5.8/libltdl/
./configure --enable-ltdl-install  && echo " libltdl configure ok" >> /root/i.log && make && echo " libltdl make ok" >> /root/i.log && make install && echo " libltdl make install ok" >> /root/i.log

#---
cd /root/lamp-src/zlib-1.2.5.1/
CFLAGS="-O3 -fPIC" ./configure && echo " zlib CFLAGS=-O3 –fPIC configure ok" >> /root/i.log && make && echo " zlib make ok" >> /root/i.log && make install && echo " zlib make install ok" >> /root/i.log

#----这里要确保libtool装上了,如果没有,手动apt-get install libtool,不然后面的装不上,提示找不到libtool命令
cd /root/lamp-src/libpng-1.2.31/
./configure --prefix=/usr/local/libpng --enable-shared && echo " libpng configure ok" >> /root/i.log && make && echo " libpng make ok" >> /root/i.log && make install && echo " libpng make install ok" >> /root/i.log

#---
mkdir /usr/local/jpeg9
mkdir /usr/local/jpeg9/bin
mkdir /usr/local/jpeg9/lib
mkdir /usr/local/jpeg9/include
mkdir -p /usr/local/jpeg9/man/man1
cd /root/lamp-src/jpeg-9a/
./configure --prefix=/usr/local/jpeg9/ --enable-shared --enable-static  && echo " jpeg configure ok" >> /root/i.log && make && echo " jpeg make ok" >> /root/i.log && make install && echo " jpeg make install ok" >> /root/i.log

cd /root/lamp-src/freetype-2.3.5/
./configure --prefix=/usr/local/freetype/ && echo " freetype configure ok" >> /root/i.log && make && echo " freetype make ok" >> /root/i.log && make install && echo " freetype make install ok" >> /root/i.log

cd /root/lamp-src/autoconf-2.61/
./configure && echo " autoconf configure ok" >> /root/i.log && make && echo " autoconf make ok" >> /root/i.log && make install && echo " autoconf make install ok" >> /root/i.log

cd /root/lamp-src/gd-2.0.35/
./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg9/ --with-freetype=/usr/local/freetype/ && echo " gd2 configure ok" >> /root/i.log && make && echo " gd2 make ok" >> /root/i.log && make install && echo " gd2 make install ok" >> /root/i.log

cd /root/lamp-src/httpd-2.2.4/
./configure --prefix=/usr/local/apache2/ --sysconfdir=/etc/httpd/ --with-included-apr --disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support && echo " httpd configure ok" >> /root/i.log && make && echo " httpd make ok" >> /root/i.log && make install && echo " httpd make install ok" >> /root/i.log

cd /root/lamp-src/ncurses-5.6/
./configure --with-shared --without-debug --without-ada --enable-overwrite && echo " ncurses configure ok" >> /root/i.log && make && echo " ncurses make ok" >> /root/i.log && make install && echo " ncurses make install ok" >> /root/i.log

groupadd mysql
useradd -r -g mysql mysql
cd /root/lamp-src/mysql-5.5.44/
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_SSL=yes && echo " mysql cmake ok" >> /root/i.log && make && echo " mysql make ok" >> /root/i.log && make install && echo " mysql make install ok" >> /root/i.log

cd /usr/local/mysql/
chown mysql:mysql -R .
chown mysql:mysql /usr/local/mysql/data/

cp /root/lamp-src/mysql-5.5.44/support-files/my-large.cnf /etc/my.cnf
cp /root/lamp-src/mysql-5.5.44/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chown root:root /etc/init.d/mysqld

/usr/local/mysql/bin/mysqld_safe –user=mysql && echo " mysql start ok" >> /root/i.log

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql && echo " mysql_install_db scripts execute ok" >> /root/i.log

cd /root/lamp-src/php-5.3.5/
./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg9/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets && echo " php configure ok" >> /root/i.log && make &&make test && echo " php make and make test is ok" >> /root/i.log && make install && echo " php make install ok" >> /root/i.log

cp /root/lamp-src/php-5.3.5/php.ini-development /usr/local/php/etc/php.ini
echo "Addtype application/x-httpd-php .php .phtml" >> /etc/httpd/httpd.conf

cp -a /root/lamp-src/phpMyAdmin-3.4.10.2-all-languages/ /usr/local/apache2/htdocs/phpmyadmin && echo " phpMyAdmin install ok" >> /root/i.log || echo " phpMyAdmin install not ok" >> /root/i.log
cd /usr/local/apache2/htdocs/phpmyadmin
cp config.sample.inc.php config.inc.php

完了之后在rc.local中加上脚本开机启动的命令。

/usr/local/apache2/bin/apachectl -k start
/usr/local/mysql/bin/mysqld_safe --user=mysql &>/dev/null & 


另外手动设置一下数据库的密码

/usr/local/mysql/bin/mysqladmin -u root password '123456789'


都弄完了重启看下端口的情况

shutdown -r now 

netstat -tlun

有80和3306应该就没问题了。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值