devilbox/docs/examples/setup-codeigniter.rst

152 lines
3.7 KiB
ReStructuredText
Raw Normal View History

2018-05-21 08:52:37 +00:00
.. _example_setup_codeigniter:
*****************
Setup CodeIgniter
*****************
.. seealso:: `Official CodeIgniter Documentation <https://www.codeigniter.com/user_guide/installation/index.html>`_
**Table of Contents**
.. contents:: :local:
Overview
========
The following configuration will be used:
+--------------+--------------------------+-------------+------------+-----------------------+
| Project name | VirtualHost directory | Database | TLD_SUFFIX | Project URL |
+==============+==========================+=============+============+=======================+
| my-ci | /shared/httpd/my-ci | my_ci | loc | http://my-ci.loc |
+--------------+--------------------------+-------------+------------+-----------------------+
Walk through
============
It will be ready in eight simple steps:
1. Enter the PHP container
2. Create a new VirtualHost directory
3. Download CodeIgniter
4. Symlink webroot directory
5. Add MySQL database
6. Configure datbase connection
7. Setup DNS record
8. Visit http://my-ci.loc in your browser
.. seealso:: :ref:`available_tools`
1. Enter the PHP container
--------------------------
.. code-block:: bash
2018-06-03 18:45:01 +00:00
host> ./shell.sh
2018-05-21 08:52:37 +00:00
2018-07-03 13:47:58 +00:00
.. seealso:: :ref:`work_inside_the_php_container`
2018-05-21 08:52:37 +00:00
2. Create new vhost directory
-----------------------------
.. code-block:: bash
2018-06-03 18:45:01 +00:00
devilbox@php-7.0.20 in /shared/httpd $ mkdir my-ci
2018-05-21 08:52:37 +00:00
3. Download CodeIgniter
-----------------------
.. code-block:: bash
2018-06-03 18:45:01 +00:00
devilbox@php-7.0.20 in /shared/httpd $ cd my-ci
devilbox@php-7.0.20 in /shared/httpd/my-ci $ wget https://github.com/bcit-ci/CodeIgniter/archive/3.1.8.tar.gz
devilbox@php-7.0.20 in /shared/httpd/my-ci $ tar xfvz 3.1.8.tar.gz
devilbox@php-7.0.20 in /shared/httpd/my-ci $ ls -l
total 7488
drwxr-xr-x 5 devilbox devilbox 4096 Mar 22 15:48 CodeIgniter-3.1.8/
-rw-r--r-- 1 devilbox devilbox 2205672 May 21 10:42 3.1.8.tar.gz
2018-05-21 08:52:37 +00:00
4. Symlink webroot
------------------
.. code-block:: bash
2018-06-03 18:45:01 +00:00
devilbox@php-7.0.20 in /shared/httpd/my-ci $ ln -s CodeIgniter-3.1.8/ htdocs
2018-05-21 08:52:37 +00:00
5. Add MySQL Database
---------------------
.. code-block:: bash
2018-06-03 18:45:01 +00:00
devilbox@php-7.0.20 in /shared/httpd/my-ci $ mysql -u root -h 127.0.0.1 -p -e 'CREATE DATABASE my_ci;'
2018-05-21 08:52:37 +00:00
6. Configure database connection
--------------------------------
.. code-block:: bash
2018-06-03 18:45:01 +00:00
devilbox@php-7.0.20 in /shared/httpd/my-ci $ vi htdocs/application/config/database.php
2018-05-21 08:52:37 +00:00
.. code-block:: php
:caption: htdocs/application/config/database.php
:emphasize-lines: 4-7
2018-06-03 18:45:01 +00:00
<?php
$db['default'] = array(
'dsn' => '',
'hostname' => '127.0.0.1',
'username' => 'root',
'password' => '',
'database' => 'my_ci',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
2018-05-21 08:52:37 +00:00
7. DNS record
-------------
2018-07-03 13:47:58 +00:00
If you do not have :ref:`setup_auto_dns` configured, you will need to add the
2018-05-21 08:52:37 +00:00
following line to your host operating systems ``/etc/hosts`` file
(or ``C:\Windows\System32\drivers\etc`` on Windows):
.. code-block:: bash
:caption: /etc/hosts
2018-06-03 18:45:01 +00:00
127.0.0.1 my-ci.loc
2018-05-21 08:52:37 +00:00
.. seealso::
2018-07-03 13:47:58 +00:00
* :ref:`howto_add_project_dns_entry_on_mac`
* :ref:`howto_add_project_dns_entry_on_win`
* :ref:`setup_auto_dns`
2018-05-21 08:52:37 +00:00
8. Open your browser
--------------------
All set now, you can visit http://my-ci.loc in your browser.