使用 Docker 和 Apache 运行 Laravel 给了我 403 Forbidden 错误

Running Laravel with Docker and Apache gives me 403 Forbidden error

提问人:Petar Vasilev 提问时间:10/25/2023 更新时间:10/25/2023 访问量:60

问:

我正在处理 Laravel 项目,它在本地运行良好,但我正在尝试设置它,以便更容易部署。但是,当我尝试通过实例访问网站时,我不断收到错误。我已经在互联网上搜索了解决方案,但一切似乎都很好。我已经设置了权限,只是为了看看它是否会起作用,但没有运气。拥有实例内文件的用户和组是 。我已经启用了 .Docker403 ForbiddenDocker777Dockerapplication:www-datamod-rewrite

这是我的:Dockerfile

FROM webdevops/php-apache:8.2

EXPOSE 80

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN apt-get update && apt-get install -y ca-certificates curl gnupg && mkdir -p /etc/apt/keyrings
RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
RUN NODE_MAJOR=18 && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
RUN apt-get update
RUN apt-get install nodejs -y
RUN a2enmod rewrite 

WORKDIR /var/www/zavoon.com

CMD bash -c "service apache2 restart && composer install --no-dev && npm install && npm run build && php artisan migrate && supervisorctl start 'zavoon-com:*' && apachectl -D FOREGROUND"

这是我的文件:docker-compose.yml

version: '3'
services:
  php-apache:
    build: 
      context: ./
      dockerfile: ./docker/Dockerfile
    container_name: main
    volumes:
      - ./:/var/www/zavoon.com
      - ./docker/supervisor/zavoon.com.conf:/etc/supervisor/conf.d/zavoon.com.conf
      - ./docker/apache/000-default.conf:/etc/apache2/sites-available/000-default.conf
    ports:
      - 8003:80
    env_file:
      - .env
    restart: unless-stopped

这是我的虚拟主机文件:

<VirtualHost *:80>
        ServerAdmin [email protected]

        DocumentRoot /var/www/zavoon.com/public

        ErrorLog /docker.stderr
        CustomLog /docker.stdout combined

        <Directory /var/www/zavoon.com/public>
                AllowOverride All
                Order allow,deny
                allow from all
                Require all granted
                ReWriteEngine On
        </Directory>
</VirtualHost>

我经常搞砸虚拟主机文件,但没有任何帮助。有什么想法吗?

php laravel docker 阿帕奇

评论

0赞 Hernan Garcia 10/25/2023
检查 /var/www/zavoon.com 是否可被运行 apache 进程的用户读取,它是 root?它是什么用户?
0赞 Hernan Garcia 10/25/2023
不仅可读,而且可写
0赞 matiaslauriti 10/25/2023
你在用吗?或者你用的是什么网址?localhost:8003
0赞 Petar Vasilev 10/27/2023
@HernanGarcia运行时有三个进程,一个由 root 运行,另外两个由 .站点文件是可读和可写的。Apachetopwww-data
0赞 Petar Vasilev 10/27/2023
@matiaslauriti我正在使用 .我已配置为指向 localhost。zavoon.local:8003zavoon.local

答: 暂无答案