|
|
Line 1: |
Line 1: |
| [[Main Page]] >> [[6CS028|Advanced Web Development]] >> [[6CS028 - Workbook|Workbook]] >> Week 02 | | [[Main Page]] >> [[6CS028|Advanced Web Development]] >> [[6CS028 - Workbook|Workbook]] >> Week 02 |
| | | |
− | == Installing Codeigniter ==
| + | == Tutorial parts 2 and 3 == |
− | First, install CodeIgniter, using Composer, or manually:
| + | Please work through parts 2 and 3 of the tuturial: |
− | * [https://codeigniter.com/user_guide/installation/installing_composer.html Composer Installation]
| + | * [https://codeigniter.com/user_guide/tutorial/news_section.html News section] |
− | * [https://codeigniter.com/user_guide/installation/installing_manual.html Manual Installation]
| + | * [https://codeigniter.com/user_guide/tutorial/create_news_items.html Create news items] |
− | | |
− | Either way, you will then need to set the correct file permissions via Putty, as follow:
| |
− | <pre>
| |
− | chmod 755 ci4-composer/ -R
| |
− | chmod 777 ci4-composer/writable/ -R
| |
− | </pre>
| |
− | | |
− | You will also need to update a couple of config files (located in '''app/Config''').
| |
− | | |
− | In '''App.php''', populate the base URL with the URL to the folder where you installed CodeIgniter, for example for mine I have put:
| |
− | <pre>
| |
− | public $baseURL = 'https://mi-linux.wlv.ac.uk/~in9352/ci4/public/';
| |
− | </pre>
| |
− | * in9352 should be replaced with your student number
| |
− | * ci4 is the name of the folder in which you installed the framework
| |
− | * public has to be there.
| |
− | | |
− | You also need to populate your MySQL connection details in the '''Database.php''' file:
| |
− | <pre>
| |
− | 'username' => '',
| |
− | 'password' => '',
| |
− | 'database' => '',
| |
− | </pre>
| |
− | | |
− | == Tutorial part 1 - Static pages== | |
− | Then please work through part 1 of the tutorial:
| |
− | * [https://codeigniter.com/user_guide/tutorial/static_pages.html Tutorial part 1 - Static pages] | |
− | | |
− | Take your time, read the instructions carefully, and ask questions in the workshops if you get stuck.
| |
− | | |
− | '''IMPORTANT: Remember that every time you create a new file or folder on the server, you need to set the permissions via Filezilla or Putty, or else you will get "Permission denied" errors.'''
| |
− | | |
− | Here is mine, to give you an idea of what it should look like once completed:
| |
− | [https://mi-linux.wlv.ac.uk/~in9352/ci4/public/index.php/pages/view/home https://mi-linux.wlv.ac.uk/~in9352/ci4/public/index.php/pages/view/home] | |
− | | |
− | == Further information ==
| |
− | | |
− | === How to include external files (images, css files, js files) on my pages ===
| |
− | | |
− | First make sure your base URL is populated in your config file, as explained above:
| |
− | | |
− | <pre>
| |
− | public $baseURL = 'https://mi-linux.wlv.ac.uk/~in9352/ci4/public/';
| |
− | </pre>
| |
− | | |
− | Then upload your files in your "codeigniter/public" folder, or in suitable sub-folders (codeigniter/public/images, codeigniter/public/css and codeigniter/public/js). Do '''NOT''' upload the files into your codeigniter/app folder or any of its sub folders.
| |
− | | |
− | In the example below I have uploaded an image file here:
| |
− | *ci4/public/images/funny-cats.jpg
| |
− | Important: Remember file permissions!
| |
− | | |
− | Then in my view, I used the base_url() helper:
| |
− | <pre>
| |
− | <img src="<?=base_url('images/funny-cats.jpg')?>" alt="Funny cat" width=300>
| |
− | </pre>
| |
− | | |
− | The result: [https://mi-linux.wlv.ac.uk/~in9352/ci4/public/index.php/pages/view/home https://mi-linux.wlv.ac.uk/~in9352/ci4/public/index.php/pages/view/home]
| |
− | | |
− | Note: The same would work with CSS files, JavaScript files etc.
| |
− | | |
− | === Hiding "index.php" using URL rewriting ===
| |
− | | |
− | Edit the .htaccess file located in the public folder, and look inside the IfModule mod_rewrite.c block.
| |
− | | |
− | Populate the RewriteBase value with your base URL, like this:
| |
− | | |
− | <pre>
| |
− | RewriteBase /~in9352/ci4/public/
| |
− | </pre>
| |
− | | |
− | Then add the following lines at the end of the block (right before the /IfModule):
| |
− | <pre>
| |
− | RewriteCond $1 !^(index\.php|images|robots\.txt)
| |
− | RewriteCond %{REQUEST_URI} !\.(css|gif|ico|jpg|js|png|swf|txt)$
| |
− | RewriteRule ^(.*)$ index.php/$1 [L]
| |
− | </pre>
| |
− | | |
− | Working example here:
| |
− | * With index.php: [https://mi-linux.wlv.ac.uk/~in9352/ci4/public/index.php/pages/view/home https://mi-linux.wlv.ac.uk/~in9352/ci4/public/index.php/pages/view/home]
| |
− | * Without index.php: [https://mi-linux.wlv.ac.uk/~in9352/ci4/public/pages/view/home https://mi-linux.wlv.ac.uk/~in9352/ci4/public/pages/view/home]
| |
− | | |
− | Both work (the second one is mapped to the first one behind the scenes).
| |