Ubuntu12.10server
网络配置、安装ssh、vsftpd、LAMP等
对于刚刚安装好的ubuntu12.10服务器,首先需要先对此进行相关的网络设置,以保证可以上外网!
对于ubuntu服务器,倘若需要省去每次都输入sudo,可先使用sudo –i然后输入密码,转化为该服务器的最高权限。
1.1配置网络设置
$sudo vim /etc/network/interfaces
进行IP、网关、DNS的设置,如下图:
保存退出,并重启网卡
$sudo /etc/init.d/networking restart
或者是 $sudo service networking restart
此时执行ifconfig将可以看到网卡的相关信息,如下:
(注:安装好Ubuntu之后设置了静态IP地址,再重启服务器后就无法解析域名。想重新设置DNS,打开/etc/resolv.conf
$cat /etc/resolv.conf
内容是一段警告:说这个文件是resolvconf程序动态创建的,不要直接手动编辑,修改将被默认的覆盖。这是因为/etc/resolv.conf其实是一个Link,它其实是指向/run/resolvconf/resolv.conf
果不其然,修改后重启再ping相关域名就失效了,如下:
如需解决上面的问题,共有两个办法:
方法一:通过修改/etc/network/interfaces,在其最后增加一句:
dns-nameservers 192.168.1.103
(上面网络设置时我已经提前给配置了)
配置后,保存退出并重启网卡,之后将可以在/etc/resolv.conf中多出了一条命令,如下
nameserver 192.168.1.103
方法二:通过修改resolvconf服务的配置文件/etc/resolvconf/resolv.conf.d/base
在里面插入
nameserver 192.168.1.103
如果有多个DNS,就一行一个,修改后保存退出,然后执行
$resolvconf –u
此时再看/etc/resolv.conf,就会多出来了.此时再ping域名,就可以解析了。)
1.2解决网络问题后,接下来是需要更换ubuntu12.10的源!
首先备份源;
$sudo mv/etc/apt/sources.list /etc/apt/sources.list.bak
其次进行更换源;
$sudo vim/etc/apt/sources.list
将下边的源直接覆盖掉:
deb http://mirrors.163.com/ubuntu/ quantal main universe restrictedmultiverse
deb-src http://mirrors.163.com/ubuntu/ quantal main universe restrictedmultiverse
deb http://mirrors.163.com/ubuntu/ quantal-security universe mainmultiverse restricted
deb-src http://mirrors.163.com/ubuntu/ quantal-security universe mainmultiverse restricted
deb http://mirrors.163.com/ubuntu/ quantal-updates universe mainmultiverse restricted
deb http://mirrors.163.com/ubuntu/ quantal-proposed universe mainmultiverse restricted
deb-src http://mirrors.163.com/ubuntu/ quantal-proposed universe mainmultiverse restricted
deb http://mirrors.163.com/ubuntu/ quantal-backports universe mainmultiverse restricted
deb-src http://mirrors.163.com/ubuntu/ quantal-backports universe mainmultiverse restricted
deb-src http://mirrors.163.com/ubuntu/ quantal-updates universe mainmultiverse restricted
保存退出,然后进行apt更新!
$sudo apt-get update
1.3安装chkconfig
在ubuntu上默认是不支持chkconfig命令的,但我们可以自己安装,其安装的下载路径:
http://download.csdn.net/detail/hylongsuny/5276536
方法:下载后,在存放的目录下执行:
$dpkg –ichkconfig_11.0-79.1-2_all.deb
在使用chkconfig管理服务的时候,出现了问题:
$chkcinfig --list
/sbin/insserv: No such file or directory
解决的方案:
$ln –s /usr/lib/insserv/insserv /sbin/insserv
2.1安装ssh
由于自己安装ubuntu服务器时并没有安装系统自带的ssh服务,因此对于需要使用ssh进行连接ubuntu时,需要自己手动安装ssh-server。
首先判断是否安装了ssh服务,可以通过如下命令进行:
出现了如上的connection refused表示还没有安装ssh,因此我们可以使用apt进行安装
$sudo apt-get install openssh-server
此时系统进行自动安装,安装完成后,需开启服务
$sudo /etc/init.d/ssh start
启动后,我们可以通过下面的命令查看是否启动正确
$sudo ps -e | grep ssh
表明已经启动成功,对于ssh默认的端口是22,如有需要更改端口,我们可以在/etc/ssh/sshd_config文件下进行更改。
设置开机自启动有两种方法:
方法一,使用先前安装chkconfig命令进行操作,如下:
$sudo chkconfig ssh on
方法二,更改开机程序,添加ssh服务的启动,如下:
$sudo vim /etc/re.local
加入:sudo service ssh start或者/etc/init.d/ssh start
2.2安装vsftpd
由于需要上传一些资料到该服务器上,因此我们还需要安装vsftpd,对于vsftpd,我们可以有两种途径进行安装。其一,直接使用源进行安装,所使用的帐号和密码是本地用户;其二,是使用虚拟用户进行登录!
对于其一,安装很简便,只需执行
$sudo apt-get install vsftpd
进行安装后,启动服务
$sudo /etc/init.d/vsftpdrestart
此时vsftpd已经可以跑起来了,但是我们需要对其/etc/vsftpd.conf文件进行配置一下,才能保证该用户有全局的权限!
$sudo vim /etc/vsftpd.conf
将文中的被注释的#write_enable=YES中改为
write_enable=YES
保存退出,并重启vsftpd!
设置开机启动(方法和ssh的同理,不再细讲):
$sudo chkconfig vsftpd on
3.安装LAMP(Apache+Mysql+PHP)
搭建LAMP环境时,需要安装的所有软件都要按照一定的顺序安装:apacheàmysqlàphp,但是在安装php之前,应该先安装php5需要的最新版本文库文件.安装GD2库是为了让php支持gif,png和jpeg图片格式,所以在安装GD2库之前还要先安装最新的zlib,libpng,freetype和jpegsrc等库文件。而且中间还会穿插安装一些软件。
由于编译安装中需要用到make进行编译二进制,因此我们还需要安装make。
$sudo apt-get install make
在我们搭建LAMP环境的时候,我们需要用到一系列相关的搭建环境软件,如下:
1. httpd-2.4.4
2. mysql-5.6.10
3. php.5.4.14
4. libxml2-2.6.30
5. libmcrypt-2.5.8
6. zlib-1.2.7
7. gd-2.0.35
8. autoconf-2.61
9. freetype-2.3.5
10. libpng-1.6.0
11. jpeg-6b
12. apr-1.4.6
13. apr-util-1.4.1
14. pcre-8.32
15. libtool-2.2.6
一. 先检测一下基本的系统环境信息
1.查看当前系统的信息,使用如下命令:
$uname –a
2.看一下安装了gcc没有!
$gcc –v
当出现下面的gcc版本,即表示已经安装了;
倘若出现如下:
即表示还没安装,此时使用
$sudo apt-get install gcc
进行安装!!
二.编译各个源码包并安装
3.1安装libxml2最新库文件
3.1.1在上面的链接或者网上下载libxml2-2.6.30.tar.gz,放到/home/hylongsuny/目录下,解压软件包到当前目录libxml2-2.6.30下,并进入libxml2-2.6.30目录,命令如下:
$cd /home/hylongsuny/ //进入源码包所在目录
$sudo tar –zxvf libxml2-2.6.30.tar.gz //解压缩
$cd libxml2-2.6.30/ //进入目录
3.1.2使用configure命令检查并配置安装需要的系统环境,并声称安装配置文件,命令如下:
$./configure --prefix=/usr/local/libxml2
选项--prefix=/usr/local/libxml2的作用,是在安装时将软件安装到/usr/local/libxml2目录下,执行成功后,会看见Done configuring的提示,如下图所示:
3.1.3使用make命令编译源码文件并生成安装文件,命令如下:
$make
出现错误:In function'open',inlined from 'xmlNanoHTTPSave__internal_alias' at nanohttp.c:1588:12:
/usr/include/x86_64-linux-gnu/bits/fcntl2.h:51:24:error: call to '__open_missing_mode' declared with attribute error: open withO_CREAT in second argument needs 3 arguments
解决方案:
打开libxml所在目录下的nanohttp.c,第1588行由
fd =open(filename, O_CREAT | O_WRONLY);更换为
fd = open(filename, O_CREAT | O_WRONLY,0777);
修改后,保存退出,再重新进行make即可!
3.1.4使用make install命令进行安装,命令如下:
$make install //安装
如果安装成功以后,在/usr/local/libxml2/目录下将生成bin、include、lib、man和share五个目录。
注:在后面安装PHP5源代码包的配置时,会通过在configure命令的选项中加上“—with-libxml-dir=/usr/local/libxml2”选项,用于指定安装libxml2库文件的位置。
3.2安装libmcrypt最新库文件
3.2.1在上面的链接或者网上下载libmcrypt-2.5.8.tar.gz,放到/home/hylongsuny/目录下,解压软件包到当前目录libmcrypt-2.5.8下,并进入libmcrypt-2.5.8目录,命令如下:
$cd /home/hylongsuny //进入源码包所在目录
$sudo tar –zxvf libmcrypt-2.5.8.tar.gz //解压缩
$cd libmcrypt-2.5.8 //进入目录
3.2.2使用“configure”命令检查并配置安装需要的系统环境,并生成安装配置文件,命令如下:
$./configure --prefix=/usr/local/libmcrypt
选项--prefix=/usr/local/libmcrypt的作用,是在安装时将软件安装到/usr/local/libmcrypt目录下。
这里需要系统安装了g++,如果没有提前安装g++,那就先sudo apt-get install g++吧。
当出现上面的提示时,则我们需要安装g++,之后再重新执行./configure--prefix=/usr/local/libmcrypt 进行系统环境信息配置;
3.2.3使用make命令编译源码文件并生成安装文件,命令如下:
$make //编译
3.2.4使用make命令编译源码文件并生成安装文件,命令如下:
$make install //安装
如果安装成功就会在/usr/local/libmcrypt目录下生成bin,include,lib,man和share五个目录
注:在后面安装PHP5源代码包的配置时,会通过在configure命令的选项中加上“--with-mcrypt-dir=/usr/local/libmcrypt”选项,指定这个libmcrypt库文件的位置。
3.2.5安装libltdl库
安装完成libmcrypt库以后,进入到解压缩的目录/home/hylongsuny/libmcrypy-2.5.8下,找到libltdl库源代码文件所在的目录libtdl,进入这个目录,按照下面几个命令配置、编译、安装就可以了。命令如下:
$cd/home/hylongsuny/libmcrypt-2.5.8/libltdl //进入软件源代码目录
$./configure –enable-ltdl-install //配置ltdl库的安装
$make //编译
$make install //安装
安装完成后,会在/usr/local/include/目录下发现ltdl.h头文件,如下图所示:
3.3安装zlib最新库文件
3.3.1在上面的链接或者网上下载zlib-1.2.7.tar.gz,放到/home/hylongsuny/目录下,解压软件包到当前目录zlib-1.2.7.tar.gz下,并进入zlib-1.2.7目录,命令如下:
$cd /home/hylongsuny/ //进入源码包所在目录
$sudo tar zxvf zlib-1.2.7.tar.gz //解压缩
$cd zlib-1.2.7 //进入目录
3.3.2使用“configure“命令检查并配置安装需要的系统环境,并生成安装配置文件,命令行如下:
$./configure –prefix=/usr/local/zlib
选项--prefix=/usr/local/zlib的作用,是在安装时将软件安装到/usr/local/zlib目录下
3.3.3使用make命令编译源码文件并生成安装文件,命令如下:
$make //编译
3.3.4使用makeinstall命令进行安装,命令如下:
$make install //安装
如果安装成功就会在/usr/local/zlib目录下生成include,lib和share三个目录,如下:
注:在后面安装PHP5源代码包的配置时,会通过在configure命令的选项中加上“--with-zlib-dir=/usr/local/zlib”选项,指定这个zlib库文件的位置。
3.4安装libpng最新库文件
3.4.1在上面的连接或者网上下载libpng-1.6.0.tar.gz,放到/home/hylongsuny/目录下,解压软件包到当前目录libpng-1.6.0下,并进入libpng-1.6.0目录,命令如下:
$cd /home/hylongsuny/ //进入源码包所在目录
$sudo tar zxvf libpng-1.6.0.tar.gz //解压缩
$cd libpng-1.6.0/ //进入目录
3.4.2使用“configure”命令检查并配置安装需要的系统环境,并生成安装配置文件,命令行如下:
$./configure –prefix=/usr/local/libpng
选项—prefix=/usr/local/libpng作用,是在安装时将软件安装到/usr/local/libpng目录下
出现错误:configure:error:zlib not install
解决方法如下:
1)进入zlib的源文件目录,并进行清除zlib,命令如下:
$cd /home/hylongsuny/zlib-1.2.7/
$make clean
2)重新配置./configure,后面不要接--prefix参数;
$./configure
3)编辑make && makeinstall安装;
$make && make install
4)进入libpng目录,执行命令./configure --prefix=/usr/local/libpng;
$./configure –prefix=/usr/local/libpng
5)编译make && makeinstall 安装;
$make && make install
3.4.3使用make命令编译源码文件并生成安装文件,命令如下:
$make //编译
3.4.4使用make install命令进行安装,命令如下:
$make install //安装
如果安装成功就会在/usr/local/libpng目录下生成bin,include,lib和share四个目录,如下图:
注:在后面安装PHP5库配置时,会通过在configure命令的选项中加上”--with-png-dier=/usr/local/libpng”选项,指定这个libpng库文件的位置。
3.5安装jpeg6最新库文件
3.5.1在上面的链接或者网上下载jpegsrc.v6b.tar.gz,放到/home/hylongsuny/目录下,解压软件包到当前目录jpeg-6b下,并进入jpeg-6b目录,命令如下:
$cd /home/hylongsuny //进入源码包所在目录
$sudo tar zxvf jpegsrc.v6b.tar.gz //解压缩
$cd jpeg-6b //进入目录
3.5.2安装GD2库前所需的jpeg6库文件,需要自己手动地创建安装需要的目录,它们在安装时不能自动创建。命令行如下:
$sudo mkdir /usr/local/jpeg6 //建立jpeg6软件安装目录
$sudo mkdir /usr/local/jpeg6/bin //建立存放命令的目录
$sudo mkdir /usr/local/jpeg6/lib //创建jpeg6库文件所在目录
$sudo mkdir /usr/local/jpeg6/include //建立存放头文件目录
$sudo mkdir –p /usr/local/jpeg6/man/man1 //建立存放手册的目录
3.5.3使用“configure”命令检查并配置安装需要的系统环境,并生成安装配置文件,命令如下(为了直观,使用“\”将一个命令换成多行):
$sudo ./configure \
>--prefix=/usr/local/jpeg6/ \ //安装时将软件安装到/usr/local/jpeg6
>--enable-shared \ //建立共享库使用的GNU的libtool
>--enable-static //建立静态库使用的GNU的libtool
3.5.4使用make命令编译源码文件并生成安装文件,命令如下:
$make //编译
出现错误:
./libtool--mode=compile gcc -O2 -I. -c ./jcapimin.c
make: ./libtool: Command not found
make: *** [jcapimin.lo] Error 127
解决方法:缺少libtool,需要安装!
1)在上面的链接或者网上下载libtool-2.2.6a.tar.gz,放到/home/hylongsuny/目录下,解压软件包到当前目录libtool-2.2.6下,并进入libtool-2.2.6目录,命令如下:
$cd/home/hylongsuny/ //进入源码包所在目录
$sudotar zxvf libtool-2.2.6a.tar.gz //解压缩
$cdlibtool.2.2.6 //进入目录
2)使用“configure”命令检查并配置安装需要的系统环境,并生成安装配置文件,命令如下:
$./configure
安装到默认路径就可以。
3)使用make命令编译源码文件并生成安装文件,命令如下:
$sudomake //编译
4)使用make install命令进行安装,命令如下:
$sudomake install //安装
5)复制libtool中的config.sub和config.guess文件至jpeg-6b根目录,命令如下:
$cd /home/hylongsuny/jpeg-6b/
$cp/usr/local/share/libtool/config/config.sub .
$cp/usr/local/share/libtool/config/config.guess .
6)重新配置并编译、安装jpeg-6b,命令如下:
$sudo ./configure \
>--prefix=/usr/local/jpeg6/ \ //安装时将软件安装到/usr/local/jpeg6目录
>--enable-shared \ //建立共享库使用的GNU的libtool
>--enable-static //建立静态库使用的GNU的libtool
$make //编译
$makeinstall //安装
7)Done
3.5.5使用make install命令进行安装,命令如下:
$make install //安装
注:在后面安装GD2库配置时,会通过在configure命令的选项中加上“--with-jpeg-dir=/usr/local/jpeg6”选项,指定这个jpeg库文件的位置。至此,我们已经使用了如图所示的这么多的安装包。
3.6安装freetype最新库文件
3.6.1在上面的链接或者网上下载freetype-2.3.5.tar.gz,放到/home/hylongsuny/目录下,解压软件包到当前目录freetype-2.3.5下,并进入freetype-2.3.5目录,命令如下:
$cd /home/hylongsuny/ //进入源码包所在目录
$sudo tar zxvffreetype-2.3.5.tar.gz //解压缩
$cd freetype-2.3.5 //进入目录
3.6.2使用“configure”命令检查并配置安装需要的系统环境,并生成安装配置文件,命令行如下:
$./configure --prefix=/usr/local/freetype
选项--prefix=/usr/local/freetype的作用,是在安装时将软件安装到/usr/local/freetype目录下
3.6.3使用make命令编译源码文件并生成安装文件,命令如下:
$make //编译
3.6.4使用makeinstall命令进行安装,命令如下:
$make install //安装
如果安装成功就会在/usr/local/freetype目录下生成bin,include,lib和share四个目录。如下图:
注:在后面安装GD2库配置时,会通过在configure命令的选项中加上”--with-freetype-dir=/usr/local/freetype”选项,指定这个freetype库文件的位置。
3.7安装autoconf最新库文件
3.7.1在上面的链接或者网上下载autoconf-2.61.tar.gz,放到/home/hylongsuny/目录下,解压软件包到当前目录autoconf-2.61下,并进入autoconf-2.61目录,命令如下:
$cd /home/hylongsuny/ //进入源码包所在目录
$tar zxvf autoconf-2.61.tar.gz //解压缩
$cd autoconf-2.61/ //进入目录
3.7.2使用”configure”命令检查并配置安装需要的系统环境,并生成安装配置文件,命令行如下:
$./configure
出现错误:configure:error:GNU M4 1.4 isrequired
解决方法:$sudo apt-get install m4
3.7.3使用make命令编译源码文件并生成安装文件,命令如下:
$make //编译
3.7.4使用makeinstall命令进行安装,命令如下:
$make install //安装
3.8安装GD最新库文件
3.8.1在上面的链接或者网上下载gd-2.0.35.tar.gz,放到/home/hylongsuny/目录下,解压软件包到当前目录gd-2.0.35下,并进入gd-2.0.35目录,命令如下:
$cd /home/hylongsuny //进入源码包所在目录
$tar zxvf gd-2.0.35.tar.gz //解压缩
$cd gd-2.0.35 //进入目录
3.8.2使用”configure”命令检查并配置安装需要的系统环境,并生成安装配置文件,命令行如下(为了直观,使用“\”将一个命令换成多行):
$./configure \
>--prefix=/usr/local/gd2/\ //安装时将软件安装到/usr/local/gd2目录
>--with-zlib=/usr/local/zlib/\ //指定到哪去找zlib库文件的位置
>--with-jpeg=/usr/local/jpeg6/\ //指定到哪去找jpeg6库文件的位置
>--with-png=/usr/local/libpng/\ //指定到哪去找libpng库文件的位置
>--with-freetype=/usr/local/freetype///指定到那去找freetype 2.x字体库位置
3.8.3使用make命令编译源码文件并生成安装文件,命令如下:
$make //编译
出现错误:gd_png.c:16:53: fatal error: png.h: No such file or directory
出现没有头文件的问题,是因为其头文件的路径不对。
解决方法:
$sudo vim gd_png.c
将
#include “png.h”
替换成:
#include “/usr/local/libpng/include/png.h”
然后再make就可以了
注:include””双引号里包含的是libpng安装的路径里的include文件夹
3.8.4使用make install命令进行安装,命令如下:
$make install //安装
如果安装成功就会在/usr/local/gd2目录下生成bin,include和lib三个目录,如下图:
注:在后面安装PHP5源代码包的配置时,会通过在configure命令的选项中加上“--with-gd=/usr/local/gd2/”选项,用于指定安装GD库文件的位置.
3.9安装新版本的Apache服务器
3.9.1在上面的链接或者网上下载httpd-2.4.4.tar.gz,放到/home/hylongsuny/目录下,解压软件包到当前目录httpd-2.4.4下,并进入httpd-2.4.4目录,命令如下:
$cd /home/hylongsuny/ //进入源码包所在目录
$tar zxvf httpd-2.4.4.tar.gz //解压缩
$cd httpd-2.4.4/ //进入目录
3.9.2使用”configure”命令检查并配置安装需要的系统环境,并生成安装配置文件,命令行如下(为了直观,使用“\“将一个命令换成多行):
$sudo ./configure \
>--prefix=/usr/local/apache2 \ //指定Apache软件安装的位置
>--sysconfdir=/etc/httpd \ //指定Apache服务器的配置文件存放位置
>--with-z=/usr/local/zlib/ \ //指定zlib库文件的位置
>--with-included-apr \ //使用捆绑APR/APR-Util的副本
>--disable-userdir \ //请求的映像到用户特定目录
>--enable-so \ //以动态共享对象(DSO)编译
>--enable-deflate=shared \ //缩小传输编码的支持
>--enable-expires=shared \ //支持头文件过期控制
>--enable-rewrite=shared //基于规则的URL操控
>--enable-static-support //建立一个静态链接版本的支持
出现错误:configure: error: Bundled APR requested but not found at ./srclib/.Download and unpack the corresponding apr and apr-util packages to ./srclib/.
这是需要下载apr和apr-utils并解压到./srclib/,再进行编译。
解决方法:
1.1)在上面的链接或者网上下载apr-1.4.6.tar.gz和apr-util-1.4.1.tar.gz,放到/home/hylongsuny/目录下,解压软件包到当前目录的apr-1.4.6/和apr-util-1.4.1/下,命令如下:
$cd /home/hylongsuny //进入源码包所在目录
$tar zxvf apr-1.4.6.tar.gz //解压缩
$tar zxvvf apr-util-1.4.1.tar.gz //解压缩
1.2)(现在我们依然在/home/hylongsuny/目录下)拷贝解压缩后的目录到httpd-2.4.4/srclib/apr和httpd-2.4.4/srclib/apr-util中,命令如下:
$sudo cp –rf apr-1.4.6 httpd-2.4.4/srclib/apr
$sudo cp –rf apr-util-1.4.1 httpd-2.4.4/srclib/apr-util
然后重新进入httpd目录,进行配置。
结果出现新的问题,如下:
configure: error: pcre-config for libpcre not found. PCRE isrequired and available from http://pcre.org/
又是一个依赖关系!
解决方法:
2.1)在上面的链接或者网上下载pcre-8.32.tar.gz,放到/home/hylongsuny/目录下,解压软件包到当前目录的pcre-8.32下,并进入pcre-8.32目录,命令如下:
$cd /home/hylongsuny //进入源码包所在目录
$tar zxvf pcre-8.32.tar.gz //解压缩
$cd pcre-8.32 //进入目录
2.2)使用”configure”命令检查并配置安装需要的系统环境,并生成安装配置文件,命令行如下:
$./configure –prefix=/usr/local/pcre
选项--prefix=/usr/local/pcre的作用,是在安装时将软件安装到/usr/local/pcre目录下
2.3)使用make命令编译源码文件并生成安装文件,命令如下:
$make //编译
2.4)使用makeinstall命令进行安装,命令如下:
$make install //安装
如果安装成功就会在/usr/local/pcre目录下生成bin,include,lib和share四个目录,如下图:
安装完pcre以后,回到httpd目录下,
在./configure的时候加上--with-pcre=/usr/local/pcre即可
这次成功configure后,再进行make && make install。
3.9.3使用make命令编译源码文件并生成安装文件,命令如下:
$make //编译
3.9.4使用makeinstall命令进行安装,命令如下:
$make install //安装
如果安装成功就会在/usr/local/apache2目录下生成bin,build,cgi-bin,error,htdocs,icons,include,lib,logs,man,manual和modules十二个目录,如下图:
3.9.5启动Apache服务器,命令如下:
$sudo /usr/local/apache2/bin/apachectl start
出现错误:AH00558: httpd: Could not reliably determine the server's fullyqualified domain name, using 127.0.1.1. Set the 'ServerName' directive globallyto suppress this message
解决方法:
修改httpd.conf配置文件,由于我们配置安装Apache服务器的时候,指定的配置文件放在了/etc/httpd目录下,如下:
$sudo ./configure \
>--prefix=/usr/local/apache2 \ \\指定Apache软件安装的位置
>--sysconfdir=/etc/httpd \ \\指定Apache服务器的配置文件存放位置
我们需要去修改这个文件,命令如下:
$sudo vim /etc/httpd/httpd.conf
找到ServerName所在的地方,如下图所示
在这下面添加一行ServerNamelocalhost,如下图所示:
保存退出,再重新启动Apache服务器即可,命令如下:
$sudo /usr/local/apache2/bin/apachectl restart
通过查看进程的方式,查看是否启动成功,命令如下:
$ps –ef | grep httpd
如果看到许多(一般是4到5个)输出就说明对了,如下图:
或者是通过检测端口的命令:
$netstat –tnl | grep 80
也可以通过在浏览器输入该服务器的IP,查看是否启动成功,如果成功,会有下图效果:
3.9.6添加开机自启动
每种服务器软件都有必要制作成开机时自启动,Apache服务器开机自启动,只要在/etc/rc.local文件中,加上Apache服务器的启动命令即可,命令如下:
$sudo vim /etc/re.local
加上启动命令,如下图所示:
3.10安装Mysql
3.10.1在上面的链接或者网上下载mysql-5.6.10.tar.gz,放到/home/hylongsuny目录下,解压软件包到当前目录mysql-5.6.10下,并进入mysql-5.6.10目录,命令如下:
$cd /home/hylongsuny //进入源码包所在目录
$sudo tar zxvf mysql-5.6.10.tar.gz //解压缩
$cd mysql-5.6.10 //进入目录
3.10.2安装cmake。由于mysql貌似从5.5已经不用./configure来配置了,换成cmake,所以需要安装cmake,检测系统是否有cmake,命令如下:
$cmake –version
如果看到如下所示:
即表示cmke还没安装,此时操作如下:
$sudo apt-get install cmake
再一次输入:
$cmake –version
即可看到cmake的版本了,如下图:
3.10.3新增用户组,命令如下:
$sudo groupadd mysql
3.10.4新增用户,并加入到mysql组中,命令如下:
$sudo useradd mysql -g mysql
3.10.5新建数据库执行文件目录,命令如下:
$sudo mkdir -p /usr/local/mysql
3.10.6新建数据库数据文件目录,命令如下:
$sudo mkdir –p /db/mysql/data
3.10.7修改目录拥有者,命令如下:
$sudo chown –R mysql:mysql /usr/local/mysql
$sudo chown –R mysql:mysql /db/mysql/data
$sudo chown –R mysql:mysql /usr/local/mysql/.
$sudo chown –R mysql:mysql db/mysql/data/.
3.10.8使用cmake进行配置,命令如下:
$cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\ //指向mysql安装目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock //指定mysql.sock路径
-DDEFAULT_CHARSET=utf8\ //指定默认的字符集为utf8
-DDEFAULT_COLLATION=utf8_general_ci\ //设定默认排序规则
-DWITH_MYISAM_STORAGE_ENGINE=1\ //启动myisam引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1\ //启动innobase引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1\ //启动archive引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1\ //启动blackhole引擎
-DWITH_MEMORY_STORAGE_ENGINE=1\ //启动memory引擎
-DWITH_READLINE=1 \ //启用readline库支持
-DENABLED_LOCAL_INFILE=1\ //启用本地数据导入支持
-EMYSQL_DATADIR=/db/mysql/data\ //指向mysql数据文件目录
-DMYSQL_USER=mysql \ //指定mysql用户,默认为mysql
-DMYSQL_TCP_PORT=3306 //指定TCP端口为3306
出现错误:CMake Error at cmake/readline.cmake:83 (MESSAGE):
Curses library not found. Please installappropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, packagename is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:126 (FIND_CURSES)
cmake/readline.cmake:193(MYSQL_USE_BUNDLED_LIBEDIT)
CMakeLists.txt:325 (MYSQL_CHECK_READLINE)
解决办法:
按照提示,缺少ncurses包,因此需要安装,命令如下:
$sudo apt-get install libncurses5-dev
然后把当前目录下这个缓存文件删除,命令如下:
$sudo rm CmakeCache.txt
然后,重新用cmake进行配置,复制上面的命令即可。
3.10.9使用make命令编译源码文件并生成安装文件,命令如下:
$make //编译
3.10.10使用makeinstall命令进行安装,命令如下:
$make install
3.10.11复制配置文件,命令如下:
$sudo cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
3.10.12进入安装路径,命令如下:
$cd /usr/local/mysql
3.10.13执行配置脚本进行初始化数据库,命令如下:
$sudo ./scriptc/mysql_install_db –user=mysql –datadir=/db/mysql/data
3.10.14复制服务启动脚本,命令如下:
$sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
3.10.15启动MySQL服务,命令如下:
$sudo service mysql start
3.10.16设置root密码,命令如下:
$sudo /usr/local/mysql/bin/mysqladmin –uroot password 123456
即新密码设置为123456
3.10.17设置开机自启动,命令如下:
$sudo update-rc.d mysql defaults
3.10.18设置mysql为系统命令,命令如下:
$sudo ln –s /usr/local/mysql/bin/* /bin/
以后在系统中直接执行:
$mysql –uroot –p
就可以登录了(对于远程登录为$mysql–h(IP号) –uroot -p)
3.10.19设置访问权限
在MySQl安装过程中,使用mysql_install_db程序安装了MySQL数据库授权表,表定义了初始MySQL用户帐户和访问权限,所有初始账户均没有密码。这些账户为超用户帐户,可以执行任何操作。初始root账户的密码为空,因此任何人可以用root账户不用任何密码来连接MySQL服务器,并具有所有权限,这意味着MySQL安装未受保护。如果你想要防止客户端不使用密码用匿名用户来连接,你应当为匿名账户指定密码或删掉匿名账户,应当为MySQL root账户指定密码。使用mysql –uroot启动MySQL客户端控制台,连接MySQL服务器。命令行如下:
$mysql –uroot –p
然后用刚才设置的密码123456登录,接着执行:
mysql>show databases;
mysql>use mysql;
mysql>select host,user,password from user;
mysql>delete from user where user=’’;
mysql>update user set password =password(‘123456’)whereuser=’root’;
mysql>flush privileges;
再进行“elect host,user,password from user;”即可查看当前用户的情况!
3.10.20 MySQL CMAKE编译参数详解
-DCMAKE_INSTALL_PREFIX= 指向mysql安装目录
-DINSTALL_SBINDIR=sbin 指向可执行文件目录(prefix/sbin)
-DMYSQL_DATADIR=/var/lib/mysql 指向mysql数据文件目录(/var/lib/mysql)
-DSYSCONFDIR=/etc/mysql 指向mysql配置文件目录(/etc/mysql)
-DINSTALL_PLUGINDIR=lib/mysql/plugin指向插件目录(prefix/lib/mysql/plugin)
-DINSTALL_MANDIR=share/man 指向man文档目录(prefix/share/man)
-DINSTALL_SHAREDIR=share 指向aclocal/mysql.m4安装目录(prefix/share)
-DINSTALL_LIBDIR=lib/mysql 指向对象代码库目录(prefix/lib/mysql)
-DINSTALL_INCLUDEDIR=include/mysql指向头文件目录(prefix/include/mysql)
-DINSTALL_INFODIR=share/info 指向info文档存放目录(prefix/share/info)
prefix官方推荐设为/usr
Storage Engine相关
类型csv,myisam,myisammrg,heap,innobase,archive,blackhole
若想启用某个引擎的支持:-DWITH_<ENGINE>_STORAGE_ENGINE=1
如:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
若想禁用某个引擎的支持:-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
Library相关
-DWITH_READLINE=1 启用readline库支持(提供可编辑的命令行)
-DWITH_SSL=system 启用ssl库支持(安全套接层)
-DWITH_ZLIB=system 启用libz库支持(zib、gzib相关)
-DWTIH_LIBWRAP=0 禁用libwrap库(实现了通用TCP包装的功能,为网络服务守护进程使用)
-DMYSQL_TCP_PORT=3306 指定TCP端口为3306
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock 指定mysql.sock路径
-DENABLED_LOCAL_INFILE=1 启用本地数据导入支持
-DEXTRA_CHARSETS=all 启用额外的字符集类型(默认为all)
-DDEFAULT_CHARSET=utf8 指定默认的字符集为utf8
-DDEFAULT_COLLATION=utf8_general_ci 设定默认排序规则(utf8_general_ci快速/utf8_unicode_ci准确)
-DWITH_EMBEDDED_SERVER=1 编译嵌入式服务器支持
-DMYSQL_USER=mysql 指定mysql用户(默认为mysql)
-DWITH_DEBUG=0 禁用debug(默认为禁用)
-DENABLE_PROFILING=0 禁用Profiling分析(默认为开启)
-DWITH_COMMENT='string' 一个关于编译环境的描述性注释
3.11安装最新版本的PHP
3.11.1在上面的链接或者网上下载php-5.4.14.tar.gz,放到/home/hylongsuny/目录下,解压软件包到当前目录php-5.4.14进入php-5.4.14目录,命令如下:
$cd /home/hylongsuny //进入源码包所在目录
$sudo tar zxvf php-5.4.14.tar.gz //解压缩
$cd php-5.4.14 //进入目录
3.11.2使用configure命令检查并配置安装需要的系统环境,并生成安装配置文件,命令行如下(为了直观,使用“\”将一个命令换成多行):
$sudo ./configure \
>--prefix=/usr/local/php \ //设置PHP5的安装路径
>--with-config-file-path=/usr/local/php/etc \ //指定PHP5配置文件存入的路径
>--with-apxs2=/usr/local/apache2/bin/apxs \//告诉PHP查找Apache2的地方
>--with-mysql=/usr/local/mysql/ \ //指定MySQL的安装路径
>--with-libxml-dir=/usr/local/libxml2/ \ //告诉PHP放置libxml2库的地方
>--with-png-dir=/usr/local/libpng/ \ //告诉PHP放置libpng库的地方
>--with-jpeg-dir=/usr/local/jpeg6/ \ //告诉PHP放置jpeg库的地方
>--with-freetype-dir=/usr/local/freetype/ \//告诉PHP放置freetype库的地方
>--with-gd=/usr/local/gd2/ \ //告诉PHP放置gd库的地方
>--with-zlib-dir=/usr/local/zlib/ \ //告诉PHP放置zlib库的地方
>--with-mcrypt=/usr/local/libmcrypt/ \ //告诉PHP放置libmcrypt库的地方
>--with-mysqli=/usr/local/mysql/bin/mysql_config \ //变量激活新增加的MySQL功能
>--enable-soap \ //变量激活SOAP和Web Services支持
>--enable-mbstring=all \ //使多字节字符串支持
>--enable-sockets //变量激活socket通信特性
3.11.3使用make命令编译源码文件并生成安装文件,命令如下:
$make //编译
注:在make的过程将产生如下错误:
安装PHP5.4时,‘gdIOCtx’没有名为’data’的成员!
解决方法:
修改/usr/local/gd2/include/gd_io.h(注:这是安装gd2时的路径)将添加一行,其操作如下:
$sudo vim/usr/local/gd2/include/gd_io.h
gdIOCtx结构中增加void(*data);
格式如下:
保存退出后,再进行make编译!
3.11.4使用make install命令进行安装,命令如下:
$make install //安装
3.11.5建立配置文件,在使用configure命令安装配置时使用了“
--with-config-file-path=/usr/local/php/etc/”选项,指定了配置文件的位置.将源码包目录下的“php.ini-dist”文件复制到指定的目录”/usr/local/php/etc/”中,并改名为“php.ini”即可(注:新版本的包并不包含php.ini-dist了,而是php.ini-development和php.ini-production,其中一个是开发环境的,一个是生产环境的)其命令如下:
$sudocp php.ini-development /usr/local/php/etc/php.ini //创建配置文件
3.11.6整合Apache与PHP。上面PHP编译之前,我们使用configure命令安装配置时,使用了”—with-apxs2=/usr/local/apache2/bin/apxs”选项以使Apache2将PHP作为功能模块使用。但我们还需要修改Apache配置文件,添加PHP的支持,告诉Apache将哪些后缀作为PHP解析。例如,让Apache把.php或.phtml后缀的文件解析为PHP。使用vim打开Apache配置文件/etc/httpd/httpd.conf,找到”Add Type application/x-gzip.gz.tgz”指令项,并在其下方添加一条指令“Addtype application/x-httpd-php.phtml”.也可以将任何后缀的文件解析为PHP,只要在添加的语句中加入并用空格打开,这里以多添加一个.phtml来示例,如下所示:
添加最后一条“AddType application/x-httpd-php-source .phps”是为了将.phps作为PHP的源文件进行语法高亮显示。
3.11.7重启Apache服务器,重启以后才能重新加载配置文件使修改生效,命令如下:
$sudo /usr/local/apache2/bin/apachectl stop //停止Apache服务
$sudo /usr/local/apache2/bin/apachectl start //开启Apache服务
3.11.8测试PHP环境是否可以正常运行,在/usr/local/apache2/htdocs目录下建一个phpinfo目录,在phpinfo目录下新建一个index.php的文件,在该php文件中添加如下代码:
<?php
Phpinfo();
?>
打开浏览器,在地址栏中输入URL为http:192.168.1.51/index.php来运行该文件,如果出现如下图所示的内容表示LAMP环境安装成功。
上例中使用了phpinfo()函数,作用是输出有关PHP当前状态的大部分信息内容,这包括关于PHP的编译和扩展信息、PHP版本、服务器信息和环境、PHP的环境、操作系统信息、路径、主要的和本地配置选项的值、HTTP头信息和PHP的许可等。因为每个系统的安装不同,phpinfo()函数可以用于检查某一特定系统配置设置和可用的预定义变量等。它也是一个宝贵的调试工具,因为它包含了所有EGPS(Environment,GET,POST,Cookie,Server)数据。