公司使用的是phalcon,一个用 C 写的PHP框架,MVC,模板语法跟jinja很像的,所以看起来很亲切,谁叫我以前是用Python的呢。

环境###

  • Ubuntu 12.04 64 bit
  • Vagrant

LAMP###

切换为阿里镜像####

阿里的镜像在上海这边速度比163给力多了。
Ubuntu的操作指南在这里

$ sudo apt-get update && sudo apt-get upgrade -y
$ sudo apt-get install lamp-server^

Apache####

安装后启动Apache时可能会收到以下提示
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
下面脚本解决

$ echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn

最后重新加载apache配置文件

$ sudo service apache2 reload

MySQL####

MySQL配置中文编码

以下设置近在5.5版本有效

/etc/mysql/my.cnf里对应的位置加入以下配置

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

最后重启MySQL

$ sudo service mysql restart

phpMyAdmin####

PHP的话,管理MySQLphpMyAdmin还是挺方便的。

$ sudo apt-get install libapache2-mod-auth-mysql phpmyadmin # 安装 phpMyAdmin

其他相关####

因为在Vagrant里运行 Server,在本机开发,所以会和Vagrant里的虚拟机共享目录,这里就涉及到了权限问题了,所以需要设置Apache运行时的用户为vagrant,在配置文件/etc/apache2/envvars里,修改以下相关字段

#export APACHE_RUN_USER=www-data
#export APACHE_RUN_GROUP=www-data
export APACHE_RUN_USER=vagrant
export APACHE_RUN_GROUP=vagrant

phpMyAdmin也有两个文件需要修改所属组

$ sudo chgrp vagrant config-db.php htpasswd.setup

*Tips:*这里因为安装完LAMP后,Apache等服务会自动启动,默认的用户是www-data,所以/var/lock/apache2/这个里的lock文件vagrant用户无权修改,手动用root删除即可。

phalcon###

安装####

这个官方的文档很详细,这里做一下笔记

安装依赖#####
$ sudo apt-get install php5-dev libpcre3-dev gcc make php5-mysql
下载编译#####
git clone --depth=1 git://github.com/phalcon/cphalcon.git
cd cphalcon/build
sudo ./install
添加到 PHP 扩展#####

/etc/php5/apache2/php.ini文件里添加extension=phalcon.so

添加 Apache 支持#####

因为phalcon有用到.htaccess文件,所以需要一些响应的配置,具体的见文档
然后在Apache的虚拟主机配置中修改成下面的

<VirtualHost *:80>

    ServerAdmin admin@example.host
    DocumentRoot "/var/vhosts/test/public"
    DirectoryIndex index.php
    ServerName example.host
    ServerAlias www.example.host

    <Directory "/var/vhosts/test/public">
        Options All
        AllowOverride All
        Allow from all
    </Directory>

</VirtualHost>

下面是最最重要的下面的操作

$ sudo a2enmod rewrite

我要被上面的坑死了,因为没有做这个,就.htaccess这个就弄了好久。

其他相关扩展###

因为公司的网站还有用到memcachebeanstalk,所以需要安装这个两个的服务端

$ sudo apt-get install memcached beanstalkd

安装完后,还需要安装memcachePHP支持

$ sudo apt-get install php5-memcache

最后重启Apache即可。

PS:Vagrant 真是坑,我想应该是我的Virtualbox出问题了,昨天配置好的环境,今天设置了下系统时间,重启了下就挂了,然后死活不按配置的启动,非要按默认的启动。所以今天配置了好了就打包了一下,以备不时之需。嘿嘿。

PHP5.3 更新到 PHP5.5###

通过LAMP安装的是PHP5.3

$ sudo apt-get update
$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:ondrej/php5
$ sudo apt-get install php5

致谢###