CentOS7 + LAMP环境+laravel

试验随笔:



因为在win10下已经做好了laravel项目了,然后想移植在Linux,模拟一下线上服务器的感觉(我还没用过云服务器啊~),就动手在虚拟机上折腾了起来。

这里我用的是虚拟机新建的centOS7系统,最原始的状态,然后参考https://segmentfault.com/a/1190000004355004进行初步的安装。因为怕以后这个博客删了或者不见了,我在这里把用到的东西搬上来吧,我设置有不同的地方会括号备注一下:

1、服务器安装源配置

sudo yum install epel-release
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum update

2、SELinux 宽容模式保证安装过程不受影响

sudo setenforce 0		
(这里是临时将它设置为0,不知道这个设不设0有什么影响和后果,反正我是永久设0了。
/etc/sysconfig/selinux
把里边的一行改为
SELINUX=disabled,然后重启虚拟机。
tips:在任意目录命令行里输入 getenforce 能看到enforce现在的状态

3、Apache, MariaDB, PHP 安装

Laravel 安装程序需要完成安装 LAMP 整个环境,需要额外安装 OpenSSLPDOMbstring 和 Tokenizer 等 PHP 扩展。如果 LAMP 已经安装并正常可以正常运行可以跳过这一步。

sudo yum install httpd mariadb-server php56w php56w-mysql php56w-mcrypt php56w-dom php56w-mbstring
(之前装了php7.0的,但是部分扩展装不上,又不会还原回去。所以新开了个系统装了这个5.6的,这里就把Apache+sql+php装好了,过程有点久)

Apache、Mariadb 服务开机自动启动

sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl start mariadb
sudo systemctl enable mariadb

4、安装Composer

sudo curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
(这个我是装不上的,用同学给的国内镜像的url装上了,https://pkg.phpcomposer.com/#how-to-install-composer,按照这个安装好composer就行了,装好后在任意界面命令行输入composer会有一个大大的composer logo出来,下面还有版本号,出现这些就算装好了,关于权限的问题,我一直都是直接给777权限的。。。反正我做测试而已,同学们可以采用这种方法,比较方便)

5、安装Laravel框架

这里使用默认的apache网站目录/var/www/html

cd /var/www/html
sudo chmod -R 777 /var/www/html
composer create-project laravel/laravel blog 5.1.11	(按照官方的laravel new blog 方法我是新建不了的,加了环境变量laravel指令也是用不了。但是这个composer create-project的方法能新建,可以用这个方法或者从win上新建一个传过来,我是用上传网盘再下载转过来的。。。,用这个命令之前要改国内镜像设置【
composer config -g repo.packagist composer https://packagist.phpcomposer.com
】,然后在非root用户下执行create的操作)
cd blog
sudo chmod -R 777 storage
sudo chmod -R 777 vendor (权限我都是新建好laravel后再执行一遍sudo chmod -R 777 /var/www/html的,这样服务器根目录下全部文件都能读写了

6、配置虚拟主机(我没配这个,这个感觉可有可无吧)

进入Apache虚拟主机目录

cd /etc/httpd/conf.d

新创建一个虚拟主机配置文件,假设现有的域名为blog.com,为了方便识别,这里创建blog.conf

sudo touch blog.conf

编辑blog.conf

sudo vi blog.conf

参照以下内容输入,邮箱、域名和网站主目录根据自己的情况修改

<VirualHost *:80>
    ServerAdmin admin@blog.com
    ServerName blog.com
    ServerAlias www
    DocumentRoot /var/www/html/blog/public
    
    <Directory "/var/www/html/blog/public">
        Options FollowSymLinks
        AllowOverride All
    </Directory>
</VirualHost>

输入完成保存,重启Apache

sudo systemctl restart httpd

浏览器访问你的域名测试!

————————————————————以上就是我看的那个博文的大致内容了————————————————

第一次执行上面操作,新建blog项目,127.0.0.1/blog/public/    这 个路由打不开,看网络那里是500错误,但是在服务器根目录写一个php文件输出phpinfo()的打得开:

网上搜到的方法是说没storage和vendor还是bootstrap/cache没权限,但是我整个根目录都777权限了。。。然后又看了下.env,好像是创建的时候有问题,.env文件没有app_key,然后我就删了这个项目。


第二次执行上面操作,新建blog2项目,127.0.0.1/blog2/public   这个路由能打开,但是新加一个   /a路由,127.0.0.1/blog2/public/a 打不开:

网上搜了下是Apache一个mod_rewrite模块没打开,参考官方手册2.1.4美化url的Apache部分,http://laravelacademy.org/post/46.html,尝试打开这个模块,参考http://www.linuxidc.com/Linux/2010-05/26415.htm:

1.启用mod_rewrite模块:
在conf目录的httpd.conf文件中找到
LoadModule rewrite_module modules/mod_rewrite.so
将这一行前面的#去掉。
2.在要支持url rewirte的目录启用 Options FollowSymLinks和AllowOverride All(就是apache配置文件httpd.conf的根目录directory那里,看着下面增改吧):

Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all

3. service httpd restart重启一下服务器


ok,除了根路由外其他路由也通了。


新建项目走通后,我把原本在Windows下的项目打包传网盘,然后虚拟机下载下来解压到服务器根目录,然后虚拟机访问的到这个项目。

OK,全剧终

—————————————————————————补充———————————————————————————

1.后面我又需要装php7,所以我把php5都删掉了,然后装过。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值