首先说一下,Ubuntu中常用的安装软件的方法有两种:
使用apt-get install
来安装应用程序算是最常见的一种安装方法,apt-get
的基本软件安装命令是:
sudo apt-get install 软件名
源代码安装就是从官网下载软件的完整安装包进行安装。源码安装大致可以分为三步骤:(./configure
)–> 编译(make
) –> 安装(make install
)。
./configure
命令完成。执行此步以便为编译源代码作准备。常用的选项有 --prefix=PREFIX
,用以指定程序的安装位置。更多的选项可通过 --help
查询。也有某些程序无需执行此步。make
指令来执行源代码的编译过程。视软件的具体情况而定,编译所需的时间也各有差异,我们所要做的就是耐心等候和静观其变。此步虽然指令简单,但有时候所遇到的问题却十分复杂。较常碰到的情形是程序编译到中途却无法圆满结束。如果make过后提示各种error,则需要根据出错提示找出错误,然后重新执行make指令。sudo make install
就可以将程序安装到系统中了,程序的默认安装路径一般是/usr/local/软件名/
。本文采用第二种方法,也就是从官网下载安装包来安装Apache和php。原因有二:
系统信息:Ubuntu14.04.1
Apache版本:2.2.31,安装包名为httpd-2.2.31.tar.gz。
php版本:5.6.24,安装包名为php-5.6.24.tar.bz2。
注:可以在http://cn2.php.net/releases/ 下载php安装包;可以在Apache下载站点http://httpd.apache.org/ 下载Apache安装包。
首先对httpd-2.2.31.tar.gz
进行解压缩,然后进入文件夹,开始用./configure
,make
,make install
三步曲安装Apache。命令如下:
tar xvf httpd-2.2.31.tar.gz
cd httpd-2.2.31
./configure --enable-rewrite=shared
make
make install
注:
./configure
可以带有很多选项,可利用”./configure --help”进行查看。例如本文示例,需要开启Apache的rewrite模块,就采用了” --enable-rewrite=shared”选项。具体情况视自己需要而定。./configure
运行过后如果出现错误,请把错误解决之后再进行后续操作,否则”make”指令不可能成功。sudo
方式利用管理员权限运行。/usr/local/apache2
。之后,可以使用如下命令启动 Apache 服务器:
/usr/local/apache2/bin/apachectl start
如果成功,可以停止 Apache 服务器并继续安装 PHP:
/usr/local/apache2/bin/apachectl stop
注:
如果启动失败,请查看端口是否被占用。如果端口被占用,则重启系统,或者kill掉占用端口的进程,再进行启动。
start
指令可以被换为stop
,restart
。
如果想要Apache开机自启动,在Ubuntu14.04.1系统环境下,修改/etc/rc.local文件。在语句”exit 0”前面添加如下语句:
/usr/local/apache2/bin/apachectl start
(可选)配置Apache,编辑/usr/local/apache2/conf/httpd.conf
,加入如下两句:
ServerName localhost
DirectoryIndex index.html index.htm index.php
正常启动Apache后,打开浏览器,输入localhost,如果看到“It works!”的页面,说明Apache已经成功安装了。
在这里可以用各种各样的参数来自定义 PHP,例如启动哪些扩展功能包的支持等。用 ./configure --help
命令可以列出当前可用的所有参数。在此例中,将给出一个在有 MySQL 支持的 Apache 2 上进行配置的范例,该范例开启了php的openssl
,mbstring
,mcrypt
,tokenizer
,pdo-mysql
模块。
如果按照上面的说明从源代码编译了 Apache,下面的例子会正确匹配 apxs
的路径。如果通过其他方式安装了 Apache,需要相应的调整 apxs 的路径。注意,在有些发行版本中,可能将 apxs 更名为 apxs2
。
tar xvf php-5.6.24.tar.bz2
cd php-5.6.24
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-openssl --enable-mbstring --with-mcrypt --enable-tokenizer --with-pdo-mysql
make
make install
注:
mcrypt
模块,只需重复最后的三步 configure(注意要在此处选取合适的参数),make,以及 make install,然后需要重新启动 Apache 使新模块生效。Apache 不需要重新编译。./configure --with-apxs2=/usr/local/apache2/bin/apxs
即可。make install
命令将安装 PEAR、各种 PHP 工具诸如 phpize,并安装 PHP CLI 等等。make test
,注意,这一指令将耗费较长的时间,且该指令是可选项,运行时请注意。php.ini
cp php.ini-development /usr/local/lib/php.ini
注:
php.ini
来设置 PHP 运行时的选项。如果想要把此文件放到另外的位置,需要在./configure
时添加 --with-config-file-path=/path
选项。php.ini-production
,请务必阅读其中的变更列表,它们将影响 PHP 的执行。编辑 httpd.conf
文件以调用 PHP 模块。LoadModule
表达式右边的路径必须指向系统中的 PHP 模块。以上的 make install 命令可能已经自动修改了httpd.conf
文件,但请务必要检查该处,否则会出现php页面的解析错误。在httpd.conf文件中添加如下语句:
LoadModule php5_module modules/libphp5.so
注:
1.如果像本文上述安装Apache的方式一样,安装者也开启了Apache的rewrite
模块,则需要在httpd.conf
中同时添加语句:LoadModule rewrite_module modules/mod_rewrite.so
2. 根据上述的安装方式,httpd.conf在文件夹/usr/local/apache2/conf/
中。
3. 模块文件在/usr/local/apache2/modules/
中。如下图所示。
例如,让 Apache 将扩展名 .php
解析成 PHP。为了避免潜在的危险,例如上传或者创建类似 exploit.php.jpg
的文件并被当做 PHP 执行,本文不再使用 Apache 的 AddType 指令来设置。参考下面的例子,你可以简单的将需要的扩展名解释为 PHP。
在httpd.conf
中添加如下语句:
或者,你也想将 .php,.php2,.php3,.php4,.php5,.php6,以及 .phtml 文件都当做 PHP 来运行,我们无需额外的设置,仅需按照下面这样来:
/usr/local/apache2/bin/apachectl start
或者
service httpd restart
在/usr/local/apache2/htdocs/
文件夹下,新建空白文档,重命名为test.php
,在文档中加入如下代码并保存:
打开浏览器,输入localhost/test.php
,如果看到“我的 PHP 脚本!”,那么恭喜你!你已经成功完成了Apache和php的安装了!!!!
./configure --help
获得更多信息。