前几天学习PHP,发现了Laravel这个框架,开始看到的时候是4.2版的,上周四的时候忽然发现Laravel 5 正式上线。
我对框架接触的不是很多,因为本身也不是搞代码的,不过对编程一直兴趣浓厚,就开始看了。 以前看过Yii,看的头晕眼花的,话说真的不是很喜欢,但是Laravel一看就觉得舒服。
今天折腾了过大半天在Linode上装Laravel 5,终于折腾到了欢迎页面,挺开心的。
- 申请一个Linode服务器,我用的ubuntu 14.4
安装PHP
- sudo apt-get update //仓库列表升级
- sudo apt-get install apache2 // 安装apache服务器,ver 2.4.7
- sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql //安装mysql
- sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt //安装php5,mcrypt这个扩展是Laravel一定需要的
如果需要装其他的模块
apt-cache search php5- //取得模块列表
//列表
php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-gd - GD module for php5
php5-gmp - GMP module for php5
php5-ldap - LDAP module for php5
php5-mysql - MySQL module for php5
php5-odbc - ODBC module for php5
php5-pgsql - PostgreSQL module for php5
php5-pspell - pspell module for php5
php5-recode - recode module for php5
php5-snmp - SNMP module for php5
php5-sqlite - SQLite module for php5
php5-tidy - tidy module for php5
php5-xmlrpc - XML-RPC module for php5
php5-xsl - XSL module for php5
php5-adodb - Extension optimising the ADOdb database abstraction library
php5-auth-pam - A PHP5 extension for PAM authenticationsudo apt-get install name of the module // 安装
安装Laravel
- curl -sS https://getcomposer.org/installer | php //安装composer
- composer global require “laravel/installer=~1.1” //下载安装器
- export $PATH = PATH:”~/.composer/vendor/bin” //加入环境变量,方便直接执行Laravel
- 下面就可以用Laravel命令建立新站点了
eg:
进入 var/www/html 文件夹执行
Laravel new mysite
执行完成后会建立一个 mysite 文件夹,Laravel就算下载好了
简单配置服务器上的Vhost 指向这个站点
因为apache2 是2.4.7 版,配置稍微有点不同Laravel需要 sudo a2enmod rewrite //开启重写模块
配置Vhost //今天这里花费了一些时间
进入 etc/apache2/ 文件夹,找到sites-availablecp default.conf mysite.com.conf //“conf” 前的名字要和你想要的站点一样
编辑保存
<VirtualHost *:80> ServerName mysite.com ServerAlias mysite.com ServerAdmin webmaster@mysite.com DocumentRoot /var/www/html/mysite/public/ #这里是public,laravel开始是从这里的index.php文件开始的 <Directory "/var/www/html/mysite/public/"> AllowOverride All #这个地方是要的,今天走了很多弯路这里 Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
添加新站点到服务器
a2ensite mysite.com.conf (删除用 a2disite xxxxx)
查看有几个站是开启状态的话,进入 sites-enable 文件夹看文件就知道了。。
Laravel 目录下的storage文件夹需要给予可写权限,Laravel用这个文件夹作为session的存储区
- 检查mystie文件夹下 public下的.htaccess 这里是Laravel的重写配置,一般不用动
都弄好了,去Domain做个A record指向,然后就OK了
呼。。记录一下今天干的事儿,今天折腾这个重定向折腾了半天
因为没有开启
AllowOverride All 这部分
写这里算个记录吧,对我这样的初学者也许有帮助