1.7 最后的微调

    我们需要对Apache进行的微调是使得它支持URL重写规则。这个是我们日后用Symfony编写应用并分发测试时必须的:

    该命令将使得Apache支持URL重写。

      该命令将重启Apache服务,我们刚才的改动从此生效。

      对PHP的微调分为几个方面。一个是对php.ini配置文件的修改,一个是添加一些PHP的挂接模块(特别是MySQL模块)。

      一般而言,在安装好Apache之后再安装PHP,则PHP的安装过程中会自动挂接一个libapache2-mod-php5的Apache模块。在重启Apache之后,Apache就开始支持PHP脚本的解析。

      如果PHP的安装没有自动挂接该Apache模块,我们可以手动安装:

      1. sudo apt-get install libapache2-mod-php5

      然后重启Apache服务使模块生效。

      PHP的配置文件有两个,分别处理PHP在命令行中执行和在Apache中作为模块执行时的表现。由于我们是要进行Web开发,所以我们要修改的是所谓Web下的PHP配置文件。该文件位于/etc/php5/apache2,对其修改需要root权限(我们登录时使用的vagrant用户就具有root权限)。

      一般而言,我们不用太多地修改这个文件,但是有这么几项还是需要进行改动的:

      1. date.timezone = Asia/Shanghai
      2. upload_max_filesize = 100M
      3. ;设置的这么大,是因为有时需要通过上传大图片
      4. ;这个值和上面这个值的设置最好保持一致

      到底要装哪些模块完全是个人喜好和开发要求决定,没有标准。

      作为本书所讨论的Web应用,我选择安装了如下扩展:

      这些扩展的具体介绍可以参见相关文档。

      注意:complex.so是我自己开发的一个复数模块,你在别处找不到,只能根据我的教程自己编译。没有这个模块也不会影响我们后面的开发。

      这些模块的安装都可以使用类似的方法。比如,我们要安装这个扩展,那么我们这么做:

      这个命令会给出如下的信息:

      1. php-crypt-blowfish - Allows for quick two-way blowfish encryption without requiring the MCrypt PHP extension
      2. php5-mcrypt - MCrypt module for php5

      其中的php5-mcrypt就是我们要安装的扩展名。然后我们用:

      1. sudo apt-get install php5-mcrypt

      命令就可以完成安装和配置了。

      对MySQL的微调也分为两部分。一部分是和PHP的挂接,一部分是MySQL本身的微调。

      我们安装了PHP,也安装了MySQL,但是我们还没有在PHP中挂接MySQL扩展。只有挂接了这个MySQL扩展,我们才能在我们的PHP程序中使用MySQL数据库的功能。

      1. sudo apt-get install php5-mysql

      如果觉得有必要,你也可以安装一个phpmyadmin来对MySQL数据库进行管理:

      但是我们也可以远程来管理MySQL数据库。

      MySQL的配置文件是:/etc/mysql/my.cnf

      我们需要记住:我们在Windows机器上进行开发,通过Vagrant的文件夹共享将我们的修改直接映射到Vagrant盒子中。相对我们的Windows机器,这个盒子是“远程”的(因为我们的盒子设置中,其IP和我们Windows机器的IP不是一个,更不在一个网段)。

      缺省情况下,MySQL只对本级的MySQL请求做出响应,因此无法进行远程管理。使用PHPMyAdmin虽然可以解决这个问题,但是我比较喜欢用本地GUI的程序来管理远程MySQL,所以需要设置MySQL以放开远程管理。

      1. bind-address = 127.0.0.1

      修改完毕后,使用如下命令重启MySQL服务:

      在终端登录MySQL,输入如下命令:

        至此,我们的LAMP服务器设置基本完成——只有最后一步了:我们需要设置一个虚拟服务器来使得我们可以远程访问我们的站点。