• 每天进步一点点!

文章分类

推荐网站

常用手册

Ubuntu源码安装LAMP环境【原创】

<<返回

2012-06-15 17:29:10

 

(1).安装libxml2

cd libxml2-2.7.8/

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

make && make install

 

(2).安装libmcrypt

cd ../libmcrypt-2.5.8/

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

 

出错: configure: error: C++ compiler cannot create executables See `config.log' for more details.

解决方法:apt-get install g++

 

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

make && make install

 

(3).安装zlib

cd ../zlib-1.2.5/

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

make && make install

 

(4)安装libpng

cd ../libpng-1.5.5/

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

 

出错:configure: error: zlib not installed

解决方法:重新安装zlib到系统

 

cd ../zlib-1.2.5/

./configure

make && make install

 

cd ../libpng-1.5.5/

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

make && make install

 

(5)安装jpeg8

cd ../jpeg-8b/

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

make && make install

 

(6)安装freetype

cd ../freetype-2.4.5/

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

 

make

make install

 

出错:rmdir: usr/local/freetype/include/freetype2/freetype/internal: 没有那个文件或目录

解决办法: mkdir /usr/local/freetype/include/freetype2/freetype/internal

 

make install

 

(7)安装autoconf

cd ../autoconf-2.68/

./configure   //安装到系统库即可

 

出错:configure: error: no acceptable m4 could be found in $PATH. GNU M4 1.4.6 or later is required; 1.4.14 is recommended

解决方法:apt-get install m4

 

./configure

make && make install

 

(8)安装GD库

cd ../gd-2.0.35/

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

 

make && make install

 

出错:gd_png.c:16:53: fatal error: png.h: No such file or directory

解决方法:vim gd_png.c

将 

#include “png.h” 

替换成:

 

#include “/usr/local/libpng/include/png.h” 

 

 

make && make install

 

(9)安装apache

cd ../httpd-2.2.21/

./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-zlib=/usr/local/zlib --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support

 

make && make install

 

配置:vim /etc/httpd/httpd.conf

将ServerName www.example.com:80 改为:ServerName localhost:80 并将前面的注释去掉

 

(10)安装MySql

 

A.安装

mysql 5.5.16安装时需要用cmake编译,所以首先要安装cmake

 

cd cmake-2.8.7

./configure

make && make install

 

安装mysql5.5.16

 

groupadd mysql

useradd -r -g mysql mysql

 

cd ../mysql-5.5.16/

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306

 

出错:CMake Error at cmake/readline.cmake:83 (MESSAGE):

Curses library not found.  Please install appropriate package,

remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.

解决方法:

apt-get install libncurses5-dev

rm CMakeCache.txt

 

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306

 

make && make install

 

B.配置

cd /usr/local/mysql

 

chown -R mysql .

chgrp -R mysql .

 

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

报错:

FATAL ERROR: Could not find mysqld

解决方法:

ln -s /usr/local/mysql/bin/mysqld /usr/sbin/mysqld

 

scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data  --force

又报错:

FATAL ERROR: Could not find errmsg.sys

解决方法:

mkdir -p /usr/share/mysql/english/

将源码包中的errmsg.sys中的这个文件拷贝到这个目录下

cp sql/share/english/errmsg.sys /usr/share/mysql/english/

 

scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data  --force

出错:

FATAL ERROR: Could not find fill_help_tables.sql

解决方法:

将源码包下 scripts下的sql文件复制到/usr/share/mysql/

cp scripts/*.sql /usr/share/mysql/

 

scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data --force

 

chown -R root .

chown -R mysql data

 

cp support-files/my-medium.cnf /etc/my.cnf

cp support-files/mysql.server /etc/init.d/mysql

 

C.开启mysql

/usr/local/mysql/bin/mysqld_safe --user=mysql &     

说明:‘&’表示在后台运行 

或: /etc/init.d/mysql.server start

//查看3306是否开启

netstat -tnl

//查看mysql版本信息

/usr/local/mysql/bin/mysqladmin version

//查看所有mysql参数 

bin/mysqladmin variables       

 

D.安全性

进入mysql 此时密码为空

/usr/local/mysql/bin/mysql -uroot 

 

查看mysql 用户权限信息

select * from mysql.user G

 

删除非localhost的主机

DELETE FROM mysql.user WHERE Host!='localhost' AND User='';

DELETE FROM mysql.user WHERE Host='localhost.localdomain';

 

刷新授权表

FLUSH PRIVILEGES;

 

为root用户添加密码

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword'); 

 

开启root用户的远程访问(如果是本地开发的话)

GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "yourpassword";

 

刷新授权表

FLUSH PRIVILEGES;

 

'%'表示任何主机都可以访问,最后面的‘yourpassword’为密码

 

F.关闭MySQL数据库 

/usr/local/mysql/bin/mysqladmin -u root –p shutdown(如果有密码则-p 没有不需要写)

 

(11)安装PHP

 

A.安装

cd php-5.3.8

./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-png-dir=/usr/local/libpng/ --with-jpeg-dir=/usr/local/jpeg8/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-zlib-dir=/usr/local/zlib/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-openssl=/usr/local/openssl-fips-2.0.5 --enable-soap  --enable-mbstring=all --enable-sockets --enable-pcntl   --enable-shmop 

 

make && make install

 

B.生成配置文件

cp php.ini-development /usr/local/php/etc/php.ini

 

C.配置

vim /etc/httpd/httpd.conf

添加下面代码

 

  AddType application/x-httpd-php .php

  AddType application/x-httpd-php .php .phtml .php3

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

 

重启apache 

/usr/local/apache2/bin/apachectl restart

 

D.遇到错误

a.httpd: Syntax error on line 57 of /etc/httpd/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

原因:是Linux有一个SELinux保护模式引起的。 

 

解决办法: 

关闭SELINUX的方法: 

vim /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启 :

b.设置php.ini时区

用phpinfo() 测试

报错:

Warning: phpinfo() [function.phpinfo]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead in /usr/local/apache2/htdocs/test.php on line 2

 

解决方法:

在php.ini中设置date.timezone的值为PRC,设置好以后的为:date.timezone=PRC,同时取消这一行代码的注释,即去掉前面的分号就可以了。然后重启apache

 

(12)安装Memcached

A.安装

cd memcache-2.2.6

/usr/local/php/bin/phpize

./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir

make && make install

 

B.将memcache加入php扩展

注意:安装完后会出现:Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

在php.ini最后加入下面两行,需在END之前

vim /usr/local/php/etc/php.ini

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

extension=memcache.so

 

C.重启apache

/usr/local/apache2/bin/apachectl restart

 

D.用phpinfo();进行测试

 

 

(13)安装curl扩展

A.安装curl

cd curl-7.22.0/

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

make && make install

 

B.生成curl.so

cd ../php-5.3.8(未编译时的源码包)

cd ext/curl

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make

出错:error: Please reinstall the libcurl distribution

解决办法:sudo apt-get install libcurl4-gnutls-dev

 

./configure --with-php-config=/usr/local/php/bin/php-config

make

 

cp modules/curl.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626

 

C.修改php.ini

vim /usr/local/php/etc/php.ini

在extension=memcache.so后添加

extension=curl.so

 

D.重启apache

/usr/local/apache2/bin/apachectl restart

查看phpinfo();

 

(14)安装phpmyadmin

cp -a phpMyAdmin-3.4.5-all-languages/ /var/www/html/phpmyadmin

cd /var/www/html/phpmyadmin

cp config.sample.inc.php config.inc.php 

打开浏览器,在地址栏里输入:http://localhost/phpmyadmin/index.php

 

 

(16) 安装ssh2扩展

A.安装openssl

  cd openssl-1.0.0e

  ./config 

  make && make install

 

B.安装libssh2

 cd ../libssh2-1.3.0/

 ./configure

 make && make install

 

C.安装ssh2

cd ../ssh2-0.11.3/

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config --with-ssh2

make

 

cp modules/ssh2.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

 

D.修改php.ini

  vim /usr/local/php/etc/php.ini 

  在extension=curl.so后面添加:extension=ssh2.so

 

E.重启apache

 /usr/local/apache2/bin/apachectl restart

 

(16)安装mongodb扩展

A.安装mongodb

unzip mongodb-mongo-php-driver-1.2.9-126-gab9a960.zip

cd mongodb-mongo-php-driver-ab9a960/

/usr/local/php/bin/phpize 

./configure --with-php-config=/usr/local/php/bin/php-config 

make 

cp modules/mongo.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

 

B.修改php.ini

vim /usr/local/php/etc/php.ini 

在extension=ssh2.so后面添加:extension=mongo.so

 

(17)安装imagick

A.安装ImageMagickcd 

 

ImageMagick-6.6.7-9/

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

 

查看编译是是否支png jpg,如果不支持,需要把(4)(5)(6) 装到系统里

make && make install

 

测试convert --version

如果出错:convert: error while loading shared libraries: libMagickCore.so.4: cannot open s

解决方法:vim /etc/ld.so.conf 添加一行/usr/local/lib

执行:/sbin/ldconfig -v 是指生效

再次测试convert --version 应该没问题了

B.安装imagick

cd ../imagick-3.0.1/

/usr/local/php/bin/phpize 

./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick

make 

 

cp modules/imagick.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

vim /usr/local/php/etc/php.ini 

在extension=mongo.so后面添加:extension=imagick.so

 

 

 

 

 

文章评论

  • 暂无评论

发表评论

昵称:

内容:

发表评论