配置远程Laravel应用程序可以从浏览器访问


Configure remote Laravel app to be accessible from browser

我参与的所有laravel项目都是由其他人开始安装/配置的。很久以前,我使用WAMP在一台Windows机器上安装了一个Laravel项目,据我所知,这更容易。我最近从digitalocean.com获得了一个安装了Centos 7的干净液滴。我觉得液滴有点像VPS。您拥有IP和SSH访问权限在一些头痛之后,我成功地使用composer安装了laravel。我还安装了mysql和apache(httpd)现在我有

/var/www/laravel

文件夹,安装最新的Laravel (5.3)

我进入/var/www/并调用

作曲家创建项目laravel/laravel mypro

现在,我在

有一个新应用程序的laravel应用程序的框架

/var/www/mypro

我想从浏览器访问它,所以我可以开始对它工作,但我不知道我需要做什么。有很多关于如何做到这一点的教程,但它们对我来说非常困惑。

为了能够看到我正在做的工作的结果,接下来我必须做什么?如果在浏览器中,我现在通过IP访问水滴,如

http://xxx.xxx.xxx.xxx

Not Found在此服务器上找不到请求的URL。

如果我在URL中加入我的应用程序的名称也一样,比如

http://xxx.xxx.xxx.xxx/mypro

我相信我必须配置httpd ?或者将项目的文件夹移到其他地方?

我试图移动我的项目文件夹在/var/www/html文件夹,所以

/var/www/html/mypro

,现在当我尝试访问url时,我收到一个空页面(浏览器页面的视图源也返回一个空页面)我甚至试过

http://xxx.xxx.xxx.xxx/mypro/server.php

因为有一个server.php文件在我的项目文件夹的根…相同的结果

我甚至在/etc/httpd/conf文件中添加了一个conf文件。

<VirtualHost *:80>
   ServerName mypro
   DocumentRoot "/var/www/html/mypro/public"
   <Directory /var/www/html/mypro/public>
      AllowOverride all
   </Directory>
</VirtualHost>

没有新的事情发生我做了"service httpd restart"每次我改变一些东西。

我甚至试过

php artisan server—host xxx.xxx.xxx.xxx—port 8000

并尝试url http://xxx.xxx.xxx.xxx:8000

现在我从浏览器得到"无法连接"页面,所以我停止了"服务"

为了能够最终开始工作,我必须做什么?

以下是我在Ubutnu 16.04上的操作方法(它可以在Centos上进行一些更改)

更新你的包。

sudo apt update

更新packeges。

sudo apt dist-upgrade
安装PHP

apt install php
安装输入

apt install apache2

安装PHP插件

apt install php-mbstring php-pdo php-tokenizer php-xml php-mcrypt php-gd libapache2-mod-php php-curl php-mysql

使mcrypt

phpenmod mcrypt
a2enmod rewrite

重启Apache Server

service apache2 restart

Install Composer

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
安装Git

apt install git
安装mysql服务器

apt install mysql-server

安装Phpmyadmin(可选)

apt install phpmyadmin

Install zip &解压缩

apt install zip unzip

现在为您的网站创建apache虚拟主机配置。

cd /etc/apache2/sites-available
touch pqr.xyz.com.conf

基本内容为pqr.xyz.com.conf

#content of pqr.xyz.com.conf
<VirtualHost *:80>
    ServerName pqr.xyz.com
    ServerAdmin webmaster@xyz.com
    DocumentRoot /var/www/html/pqr.xyz.com/public
    <Directory /var/www/html/pqr.xyz.com>
        AllowOverride All
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

现在进入/var/www/html

cd /var/www/html/

用你的网站名称创建一个目录

mkdir pqr.xyz.com

现在添加一个用户,因为在创建laravel项目时使用composer作为root并不是一个好主意。

adduser admin --ingroup admin

现在让admin作为这个目录的所有者

chown -R admin pqr.xyz.com

现在以admin身份登录

转到/var/www/html

cd /var/www/html

使用composer安装Laravel

composer create-project laravel/laravel pqr.xyz.com
cd /var/www/html/pqr.xyz.com

现在你的存储和引导目录应该有apache 2服务器的写权限,所以让apache拥有这两个目录。

chown -R www-data storage
chown -R www-data bootstrap

现在以root用户登录

激活pqr.xyz.com.conf

a2dissite 000-default.conf
service apache2 reload
a2ensite shopperstock.eveningx.com.conf
service apache2 reload
service apache2 restart

这可能不是与任何larave项目一起工作的最佳方式,所以请随意评论或建议编辑