【问题标题】:How to deploy PHP (CodeIgniter Framework) using Apache on Ubuntu?如何在 Ubuntu 上使用 Apache 部署 PHP (CodeIgniter Framework)?
【发布时间】:2022-12-10 01:00:13
【问题描述】:

我在 Linode 上运行 Ubuntu 22.04 服务器,想使用 Apache 部署一个简单的 CodeIgniter 应用程序。这样做的步骤是什么?

【问题讨论】:

  • 你不应该在你做你的部分(研究和测试)之前问,如果你被困在某个地方并且在某些部分需要更多指导,那就是你可以在这里问的地方,通过描述你做了什么,以及什么您当前遇到的错误/步骤

标签: php codeigniter ubuntu linode


【解决方案1】:

这是我设置的文件的完整列表和我运行的命令,因此没有歧义(假设您以根用户身份运行):

以下步骤参考Digital Ocean Apache installation guide

  1. apt update
  2. apt install apache2
  3. systemctl status apache2 应该说“活动(正在运行)”

    以下步骤参考CloudBooklet PHP upgrade guide

    1. apt install php8.1-fpm php8.1-common php8.1-pgsql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-soap php8.1-zip php8.1-bcmath -y如果你用的是mysql,把php8.1-pgsql改成php8.1-mysql
    2. service php8.1-fpm status 应该说“活动(正在运行)”

    参考DigitalOcean composer installation guide了解以下步骤:

    1. cd ~
    2. curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
    3. php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer

    请参考CodeIgniter installation guide 了解以下步骤:

    1. cd /var/www
    2. composer create-project codeigniter4/appstarter project-root
    3. touch project-root/writable/logs/access.log
    4. touch project-root/writable/logs/errors.log
    5. chmod 777 project-root/writable/logs/*log
    6. composer update

    参考DigitalOcean rewrite URLs for Apache guide了解以下步骤:

    1. a2enmod rewrite deflate headers
    2. nano /var/apache2/sites-available/project-root.conf
    <VirtualHost *:80>
         ServerAdmin info@example.com
         ServerName www.example.com
         ServerAlias www.example.com
    
         Protocols h2 http/1.1
    
         DocumentRoot /var/www/project-root/public
    
         <Directory /var/www/project-root/public>
              Options -Indexes +FollowSymLinks
              AllowOverride All
              Require all granted
         </Directory>
    
         ErrorLog /var/www/project-root/writable/logs/errors.log
         CustomLog /var/www/project-root/writable/logs/access.log combined
    
         RewriteEngine on
         RewriteCond %{SERVER_NAME} =www.example.com
         RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
    </VirtualHost>
    
    1. a2ensite
    2. systemctl restart apache2

    参考Linode's enabling HTTPS guide了解以下步骤:

    1. apt remove certbot
    2. snap install --classic certbot
    3. ln -s /snap/bin/certbot /usr/bin/certbot
    4. certbot --apache

    参考CloudBooklet's PHP-FPM installation guide了解以下步骤:

    1. service php8.1-fpm restart
    2. a2enconf php8.1-fpm
    3. a2dismod mpm_prefork
    4. a2enmod mpm_event proxy_fcgi setenvif
    5. service apache2 restart

    请参考Linode's managing log files guide 了解以下步骤:

    1. nano /etc/logrotate.d/project-root
    /var/www/project-root/writable/logs/*.log {
            daily
            rotate 3
            size[20M]
            compress
            delaycompress
            create 755 root root
            missingok
            notifempty
    }
    

    您可能还想安装日志记录,例如Papertrail

【讨论】:

    猜你喜欢
    • 2020-05-08
    • 2014-12-02
    • 2022-12-10
    • 2014-04-11
    • 2015-08-31
    • 2017-08-11
    • 2016-07-26
    • 2016-08-22
    • 2018-06-26
    相关资源
    最近更新 更多