Facebook Twitter Instagram
    TecAdmin
    • Home
    • FeedBack
    • Submit Article
    • About Us
    Facebook Twitter Instagram
    TecAdmin
    You are at:Home»General Articles»How to Install CakePHP on Debian 9 (Stretch)

    How to Install CakePHP on Debian 9 (Stretch)

    By RahulDecember 11, 20183 Mins ReadUpdated:January 11, 2019

    CakePHP is a PHP framework for rapid development of web application. Recently CakePHP has released its latest version 3.6 with a variety of changes to improve speed and security. This article will help you to Setup CakePHP 3.6 (or latest version) on Debian 9 (Stretch) Linux system.

    Advertisement

    Requirements:-

    • PHP 5.5.9 or greater (including PHP 7).
    • PHP mbstring extension
    • PHP intl extension
    • MySQL (5.1.10 or greater)

    Step 1 – Install LAMP Server

    You can skip this step for the system having LAMP setup already. If you don’t have LAMP installed on your system proceed with the following commands to Setup LAMP on your Linux Server.

    sudo apt update
    sudo apt install curl apache2 mysql-server libapache2-mod-php
    sudo apt install php php-mysql php-mbstring php-intl php-xml 
    

    Step 2 – Install Composer

    Now CakePHP is using composer for managing dependencies. So first we need to install Composer using following command on the system. If already installed then just update to latest version.

    Install Composer:

    curl -sS https://getcomposer.org/installer | php
    mv composer.phar /usr/local/bin/composer
    chmod +x /usr/local/bin/composer
    

    Update Composer:

    composer self-update
    

    Step 3 – Create CakePHP 3 Application

    After installing the composer on your system. Let’s create CakePHP application named “MyApp” using composer command as below.

    composer create-project --prefer-dist cakephp/app MyApp
    

    Setup CakePHP 3

    Now set the proper permission for your project files. For Debian based system Apache default uses www-data as the user. So change files ownership as per your setup.

    chown -R www-data:www-data MyApp
    chmod -R 755 MyApp
    chmod -R 777 MyApp/tmp
    

    Step 4 – Setup Database for CakePHP

    For this article, we are using MySQL as the database server. First use following commands to create a MySQL database and create.

    1
    2
    3
    4
    mysql> CREATE DATABASE mydb;
    mysql> GRANT ALL ON mydb.* to 'myuser'@'localhost' IDENTIFIED BY '_password_';
    mysql> FLUSH PRIVILEGES;
    mysql> quit

    Now edit config/app.php configuration file and search for your database setting. Make necessary changes as per below details

        'Datasources' => [
            'default' => [
                'className' => 'Cake\Database\Connection',
                'driver' => 'Cake\DatabaseDriver\Mysql',
                'persistent' => false,
                'host' => 'localhost',
                //'port' => 'nonstandard_port_number',
                'username' => 'myuser',
                'password' => '_password_',
                'database' => 'mydb',
                'encoding' => 'utf8',
                'timezone' => 'UTC',
                'cacheMetadata' => true,
    

    Here, you have two options to run your CakePHP application. For development system follow the Step 5(A) and for Production deployment follow step 5(B).

    Step 5(A) – Deploy CakePHP on Development System

    First is to use its built-in web server preferred for development purpose installation. This will make your application available at http://host:port. From the app directory, execute:

    bin/cake server
    

    By default, without any arguments provided, this will serve your application at http://localhost:8765/.

    You can also specify your own host and port like below

    bin/cake server -H 192.168.10.123 -p 1234
    

    This will serve your application at http://192.168.10.123:1234/

    Step 5(B) – Deploy CakePHP on Production System

    Second is deploy with external web servers like Apache its preferred for production use. Let’s create an Apache VirtualHost configuration file using the following content.

    <VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName cakephp.tecadmin.net
        DocumentRoot /var/www/html/MyApp/webroot
        <Directory /var/www/html/MyApp>
              Allowoverride All
        </Directory>
    </VirtualHost>
    

    Change the ServerName and document root as per your setup. After that reload your Apache service and access your CakePHP like http://cakephp.example.com.

    cakephp Debian 9
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email WhatsApp

    Related Posts

    Error: EACCES: permission denied, scandir (Resolved)

    How To Install Python 3.11 on Ubuntu 22.04 / 20.04

    Excluding URLs from ProxyPass in Apache

    Add A Comment

    Leave A Reply Cancel Reply

    Advertisement
    Recent Posts
    • Error: EACCES: permission denied, scandir (Resolved)
    • How To Install Python 3.11 on Ubuntu 22.04 / 20.04
    • How to Install Python 3.11 on Amazon Linux 2
    • An Introduction to the “./configure” Command: Compiling Source Code in Linux
    • How to Install PHP 8.x on Pop!_OS
    Facebook Twitter Instagram Pinterest
    © 2023 Tecadmin.net. All Rights Reserved | Terms  | Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.