部署Laravel环境
部署完基本LAMP环境之后,因为我的项目中会使用到Laravel,所以接下来继续搭建Laravel环境。
首先要使用Laravel最好先安装composer。
安装composer
ubuntu中安装composer 可以下面两个命令来执行
命令一: curl -sS https://getcomposer.org/installer | php
命令二: php -r "readfile('https://getcomposer.org/installer');" | php
composer 安装完成之后,会提示你Use it :php composer.phar
如果你直接执行
composer -V
会提示你
The program 'composer' is currently not installed. You can install it by typing:apt install composer
我们先查看一下当前文件夹输入
ls -a
发里面有一个composer.phar 的文件
如果想直接在命令行中使用composer 那么,我们就要把这个文件直接移动到我们的bin目录下的composer文件夹(新建一个)
mv composer.phar /bin/composer
移动完成后,这个时候我们就可以直接使用我们的composer命令了
Laravel项目安装
安装完composer之后,我们就可以来安装我们的laravel项目了,由于网络封锁的原因,在安装laravel前,我推荐使用配置composer从国内镜像中下载。
一行代码搞定
composer config -g repo.packagist composer https://packagist.phpcomposer.com
配置镜像之后,到我们/var/www目录中,使用composer下载我们的Laravel项目
composer create-project laravel/laravel you-project-name 5.4.*
其中
you-project-name 是你想创建的夹名称
5.4.* 是你想下载laravel版本号 可以也可改成5.1.* , 5.* ,* 表示默认下载最新版本
如果直接使用上面的代码可能会出现错误提示,提示你没有安装一些PHP扩展
ubuntu 中想要开启这些扩展,直接使用apt-get install命令就可以完成
apt-get install php-mbstring
apt-get install php-dom
如果还有其他没有安装的扩展 一样可以通过apt-get install php-扩展名称来解决
虚拟主机配置
要配置虚拟主机 首先需要走自己的域名,同时要将域名解析到自己的服务器IP上去
在记录值中填写你云服务器的公网IP地址。
然后就到ubuntu中的etc/apache2/sites-available 中 创建我们的虚拟主机,可以直接编辑 000-default.conf 这个文件,也可以复制一份,命名成你项目的名字,重新编辑。
cp 000-default.conf laravel.conf
vi laravel.conf
<VirtualHost *:80>
ServerName www.example.com
Serveralias example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/Laravel/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
然后将添加的配置 使用a2ensite命令 ,软连接到site-enable.conf
a2ensite laravel.conf
service apache2 restart # 重启apache
这时候我们的域名就是默认指定到我们的laravel项目中去。
权限设置
这时候laravel项目还有一些必要的权限设置。
因为我们默认访问域名的时候,apache会报错,我们访问laravel项目的时候,需要给项目一些log和cache的写入权限。
不管哪种方式安装的代码,/var/www/都是属于root用户的,而访问网站的用户则需要正确的权限和访问限制,我们可以通过下面的命令来实现。
sudo chown -R :www-data /var/www/laravel
根据Laravel的官方文档,/var/www/laravel/storage 目录需要给网站的用户写权限
sudo chmod -R 775 /var/www/laravel/storage
这时候,我们就能成功的访问我们的laravel项目了!!!