From f454a032c9fea29f01a2d14a298e80cc033cc77a Mon Sep 17 00:00:00 2001 From: cytopia Date: Tue, 3 Oct 2017 12:45:37 +0200 Subject: [PATCH] REL-0.12 Doc: How to setup Joomla --- README.md | 14 +++-- docs/Examples.md | 128 ++++++++++++++++++++++++++------------ docs/FAQ.md | 17 +++-- docs/Quickstart.md | 13 ++-- docs/img/logos/joomla.png | Bin 0 -> 4997 bytes 5 files changed, 114 insertions(+), 58 deletions(-) create mode 100644 docs/img/logos/joomla.png diff --git a/README.md b/README.md index 06629e20..bfcf1712 100644 --- a/README.md +++ b/README.md @@ -239,6 +239,7 @@ As far as tested there are no limitations and you can use any Framework or CMS j [![CakePHP](docs/img/logos/cake.png)](https://cakephp.org) [![Drupal](docs/img/logos/drupal.png)](https://www.drupal.org) +[![Joomla](docs/img/logos/joomla.png)](https://www.joomla.org) [![Laravel](docs/img/logos/laravel.png)](https://laravel.com) [![Phalcon](docs/img/logos/phalcon.png)](https://phalconphp.com) [![Symfony](docs/img/logos/symfony.png)](https://symfony.com) @@ -351,12 +352,13 @@ The devilbox documentation consists of the following main sections. 2. [Project setup](docs/Examples.md#2-project-setup) 1. [Setup CakePHP](docs/Examples.md#21-setup-cakephp) 2. [Setup Drupal](docs/Examples.md#22-setup-drupal) - 3. [Setup Laravel](docs/Examples.md#23-setup-laravel) - 4. [Setup Phalcon](docs/Examples.md#24-setup-phalcon) - 5. [Setup Symfony](docs/Examples.md#25-setup-symfony) - 6. [Setup Wordpress](docs/Examples.md#26-setup-wordpress) - 7. [Setup Yii](docs/Examples.md#27-setup-yii) - 8. [Setup Zend](docs/Examples.md#28-setup-zend) + 3. [Setup Joomla](docs/Examples.md#23-setup-joomla) + 4. [Setup Laravel](docs/Examples.md#24-setup-laravel) + 5. [Setup Phalcon](docs/Examples.md#25-setup-phalcon) + 6. [Setup Symfony](docs/Examples.md#26-setup-symfony) + 7. [Setup Wordpress](docs/Examples.md#27-setup-wordpress) + 8. [Setup Yii](docs/Examples.md#28-setup-yii) + 9. [Setup Zend](docs/Examples.md#29-setup-zend) 3. [Code analysis](docs/Examples.md#3-code-analysis) 1. [awesome-ci](docs/Examples.md#31-awesome-ci) 2. [phpcs](docs/Examples.md#32-phpcs) diff --git a/docs/Examples.md b/docs/Examples.md index 0bd6a0c9..0c3450f4 100644 --- a/docs/Examples.md +++ b/docs/Examples.md @@ -24,12 +24,13 @@ Examples | 2. [Project setup](#2-project-setup) 1. [Setup CakePHP](#21-setup-cakephp) 2. [Setup Drupal](#22-setup-drupal) - 3. [Setup Laravel](#23-setup-laravel) - 4. [Setup Phalcon](#24-setup-phalcon) - 5. [Setup Symfony](#25-setup-symfony) - 6. [Setup Wordpress](#26-setup-wordpress) - 7. [Setup Yii](#27-setup-yii) - 8. [Setup Zend](#28-setup-zend) + 3. [Setup Joomla](#23-setup-joomla) + 4. [Setup Laravel](#24-setup-laravel) + 5. [Setup Phalcon](#25-setup-phalcon) + 6. [Setup Symfony](#26-setup-symfony) + 7. [Setup Wordpress](#27-setup-wordpress) + 8. [Setup Yii](#28-setup-yii) + 9. [Setup Zend](#29-setup-zend) 3. [Code analysis](#3-code-analysis) 1. [awesome-ci](#31-awesome-ci) 2. [phpcs](#32-phpcs) @@ -96,19 +97,19 @@ host> ./shell.sh # 2. Create a new VirtualHost directory devilbox@php-7.0.20 in /shared/httpd $ mkdir my-cake +devilbox@php-7.0.20 in /shared/httpd $ cd my-cake # 3. Install CakePHP via composer -devilbox@php-7.0.20 in /shared/httpd $ cd my-cake -devilbox@php-7.0.20 in /shared/httpd $ composer create-project --prefer-dist cakephp/app cakephp +devilbox@php-7.0.20 in /shared/httpd/my-cake $ composer create-project --prefer-dist cakephp/app cakephp # 4. Symlink webroot directory -devilbox@php-7.0.20 in /shared/httpd $ ln -s cakephp/webroot/ htdocs +devilbox@php-7.0.20 in /shared/httpd/my-cake $ ln -s cakephp/webroot/ htdocs # 5. Add MySQL datbase -devilbox@php-7.0.20 in /shared/httpd $ mysql -u root -h 127.0.0.1 -p -e 'CREATE DATABASE my_cake;' +devilbox@php-7.0.20 in /shared/httpd/my-cake $ mysql -u root -h 127.0.0.1 -p -e 'CREATE DATABASE my_cake;' # 6. Configure datbase connection -devilbox@php-7.0.20 in /shared/httpd $ vi cakephp/config/app.php +devilbox@php-7.0.20 in /shared/httpd/my-cake $ vi cakephp/config/app.php ``` ```php ./shell.sh # 2. Create a new VirtualHost directory devilbox@php-7.0.20 in /shared/httpd $ mkdir my-drupal +devilbox@php-7.0.20 in /shared/httpd $ cd my-drupal # 3. Install Drupal via drush -devilbox@php-7.0.20 in /shared/httpd $ cd my-drupal -devilbox@php-7.0.20 in /shared/httpd $ drush dl drupal +devilbox@php-7.0.20 in /shared/httpd/my-drupal $ drush dl drupal # 4. Symlink Drupal directory -devilbox@php-7.0.20 in /shared/httpd $ ln -s drupal-8.3.3 htdocs +devilbox@php-7.0.20 in /shared/httpd/my-drupal $ ln -s drupal-8.3.3 htdocs ``` **5. DNS record** @@ -191,8 +192,55 @@ Open your browser at http://my-drupal.loc and follow the Drupal installation ste **Note:** For MySQL host choose `127.0.0.1`. +#### 2.3 Setup Joomla -#### 2.3 Setup Laravel +> **[Official Joomla Documentation](https://docs.joomla.org/J3.x:Installing_Joomla)** + +The following configuration will be used: + +| Project name | VirtualHost directory | Database | TLD_SUFFIX | Url | +|--------------|-----------------------|------------|------------|-----| +| my-joomla | /shared/httpd/my-joomla | - | loc | http://my-joomla.loc | + +It will be ready in six simple steps: + +1. Enter the PHP container +2. Create a new VirtualHost directory +3. Download and extract Joomla +4. Symlink public directory +5. Setup DNS record +6. Visit http://my-joomla.loc in your browser + +```shell +# 1. Enter the PHP container +host> ./shell.sh + +# 2. Create a new VirtualHost directory +devilbox@php-7.0.20 in /shared/httpd $ mkdir my-joomla +devilbox@php-7.0.20 in /shared/httpd $ cd my-joomla + +# 3. Download and extract Joomla +devilbox@php-7.0.20 in /shared/httpd/my-joomla $ wget -O joomla.tar.gz https://downloads.joomla.org/cms/joomla3/3-8-0/joomla_3-8-0-stable-full_package-tar-gz?format=gz +devilbox@php-7.0.20 in /shared/httpd/my-joomla $ mkdir joomla/ +devilbox@php-7.0.20 in /shared/httpd/my-joomla $ tar xvfz joomla.tar.gz -C joomla/ + + +# 4. Symlink Joomla directory +devilbox@php-7.0.20 in /shared/httpd/my-joomla $ ln -s joomla htdocs +``` + +**5. DNS record** + +If you do not have auto-DNS configured, you will need to add the following line to your Host computer's `/etc/hosts`: +```shell +127.0.0.1 my-joomla.loc +``` + +**6. Open your browser** + +Open your browser at http://my-joomla.loc + +#### 2.4 Setup Laravel > **[Official Laravel Documentation](https://laravel.com/docs/5.4/installation)** @@ -217,13 +265,13 @@ host> ./shell.sh # 2. Create a new VirtualHost directory devilbox@php-7.0.20 in /shared/httpd $ mkdir my-laravel +devilbox@php-7.0.20 in /shared/httpd $ cd my-laravel # 3. Install Laravel via laravel -devilbox@php-7.0.20 in /shared/httpd $ cd my-laravel -devilbox@php-7.0.20 in /shared/httpd $ laravel new laravel-project +devilbox@php-7.0.20 in /shared/httpd/my-laravel $ laravel new laravel-project # 4. Symlink public directory -devilbox@php-7.0.20 in /shared/httpd $ ln -s laravel-project/public htdocs +devilbox@php-7.0.20 in /shared/httpd/my-laravel $ ln -s laravel-project/public htdocs ``` **5. DNS record** @@ -238,7 +286,7 @@ If you do not have auto-DNS configured, you will need to add the following line Open your browser at http://my-laravel.loc -#### 2.4 Setup Phalcon +#### 2.5 Setup Phalcon > **[Official Phalcon Documentation](https://docs.phalconphp.com/en/3.2/devtools-usage)** @@ -263,13 +311,13 @@ host> ./shell.sh # 2. Create a new VirtualHost directory devilbox@php-7.0.20 in /shared/httpd $ mkdir my-phalcon +devilbox@php-7.0.20 in /shared/httpd $ cd my-phalcon # 3. Install Phalcon via phalcon -devilbox@php-7.0.20 in /shared/httpd $ cd my-phalcon -devilbox@php-7.0.20 in /shared/httpd $ phalcon project phalconphp +devilbox@php-7.0.20 in /shared/httpd/my-phalcon $ phalcon project phalconphp # 4. Symlink public directory -devilbox@php-7.0.20 in /shared/httpd $ ln -s phalconphp/public htdocs +devilbox@php-7.0.20 in /shared/httpd/my-phalcon $ ln -s phalconphp/public htdocs ``` **5. DNS record** @@ -284,7 +332,7 @@ If you do not have auto-DNS configured, you will need to add the following line Open your browser at http://my-phalcon.loc -#### 2.5 Setup Symfony +#### 2.6 Setup Symfony > **[Official Symfony Documentation](https://symfony.com/doc/current/setup.html)** @@ -310,17 +358,17 @@ host> ./shell.sh # 2. Create a new VirtualHost directory devilbox@php-7.0.20 in /shared/httpd $ mkdir my-symfony +devilbox@php-7.0.20 in /shared/httpd $ cd my-symfony # 3. Install Symfony via symfony -devilbox@php-7.0.20 in /shared/httpd $ cd my-symfony -devilbox@php-7.0.20 in /shared/httpd $ symfony new symfony +devilbox@php-7.0.20 in /shared/httpd/my-symfony $ symfony new symfony # 4. Symlink web directory -devilbox@php-7.0.20 in /shared/httpd $ ln -s symfony/web htdocs +devilbox@php-7.0.20 in /shared/httpd/my-symfony $ ln -s symfony/web htdocs # 5. Enable Symfony production (app.php) -devilbox@php-7.0.20 in /shared/httpd $ cd symfony/web -devilbox@php-7.0.20 in /shared/httpd $ ln -s app.php index.php +devilbox@php-7.0.20 in /shared/httpd/my-symfony $ cd symfony/web +devilbox@php-7.0.20 in /shared/httpd/my-symfony/symfony/web $ ln -s app.php index.php ``` **6. DNS record** @@ -335,7 +383,7 @@ If you do not have auto-DNS configured, you will need to add the following line Open your browser at http://my-symfony.loc -#### 2.6 Setup Wordpress +#### 2.7 Setup Wordpress > **[Official Wordpress Documentation](https://codex.wordpress.org/Installing_WordPress)** @@ -360,13 +408,13 @@ host> ./shell.sh # 2. Create a new VirtualHost directory devilbox@php-7.0.20 in /shared/httpd $ mkdir my-wp +devilbox@php-7.0.20 in /shared/httpd $ cd my-wp # 3. Download Wordpress via git -devilbox@php-7.0.20 in /shared/httpd $ cd my-wp -devilbox@php-7.0.20 in /shared/httpd $ git clone https://github.com/WordPress/WordPress wordpress.git +devilbox@php-7.0.20 in /shared/httpd/my-wp $ git clone https://github.com/WordPress/WordPress wordpress.git # 4. Symlink wordpress git directory -devilbox@php-7.0.20 in /shared/httpd $ ln -s wordpress.git htdocs +devilbox@php-7.0.20 in /shared/httpd/my-wp $ ln -s wordpress.git htdocs ``` **5. DNS record** @@ -381,7 +429,7 @@ If you do not have auto-DNS configured, you will need to add the following line Open your browser at http://my-wp.loc -#### 2.7 Setup Yii +#### 2.8 Setup Yii > **[Official Yii Documentation](http://www.yiiframework.com/doc-2.0/guide-start-installation.html)** @@ -406,13 +454,13 @@ host> ./shell.sh # 2. Create a new VirtualHost directory devilbox@php-7.0.20 in /shared/httpd $ mkdir my-yii +devilbox@php-7.0.20 in /shared/httpd $ cd my-yii # 3. Install Yii2 via composer -devilbox@php-7.0.20 in /shared/httpd $ cd my-yii -devilbox@php-7.0.20 in /shared/httpd $ composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic yii2-dev +devilbox@php-7.0.20 in /shared/httpd/my-yii $ composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic yii2-dev # 4. Symlink web directory -devilbox@php-7.0.20 in /shared/httpd $ ln -s yii2-dev/web htdocs +devilbox@php-7.0.20 in /shared/httpd/my-yii $ ln -s yii2-dev/web htdocs ``` **5. DNS record** @@ -427,7 +475,7 @@ If you do not have auto-DNS configured, you will need to add the following line Open your browser at http://my-yii.loc -#### 2.8 Setup Zend +#### 2.9 Setup Zend > **[Official Zend Documentation](https://docs.zendframework.com/tutorials/getting-started/skeleton-application/)** @@ -452,13 +500,13 @@ host> ./shell.sh # 2. Create a new VirtualHost directory devilbox@php-7.0.20 in /shared/httpd $ mkdir my-zend +devilbox@php-7.0.20 in /shared/httpd $ cd my-zend # 3. Install Zendframework via composer -devilbox@php-7.0.20 in /shared/httpd $ cd my-zend -devilbox@php-7.0.20 in /shared/httpd $ composer create-project --prefer-dist zendframework/skeleton-application zend +devilbox@php-7.0.20 in /shared/httpd/my-zend $ composer create-project --prefer-dist zendframework/skeleton-application zend # 4. Symlink public directory -devilbox@php-7.0.20 in /shared/httpd $ ln -s zend/public htdocs +devilbox@php-7.0.20 in /shared/httpd/my-zend $ ln -s zend/public htdocs ``` **5. DNS record** diff --git a/docs/FAQ.md b/docs/FAQ.md index af5ac997..7b156b1f 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -40,6 +40,7 @@ FAQ 3. **[Usage](#3-usage)** - [Does it work with CakePHP?](#does-it-work-with-cakephp) - [Does it work with Drupal?](#does-it-work-with-drupal) + - [Does it work with Joomla?](#does-it-work-with-joomla) - [Does it work with Laravel?](#does-it-work-with-laravel) - [Does it work with PhalconPHP?](#does-it-work-with-phalconphp) - [Does it work with Symfony?](#does-it-work-with-symfony) @@ -160,29 +161,33 @@ Yes, see **[How to setup CakePHP](Examples.md#21-setup-cakephp)**. Yes, see **[How to setup Drupal](Examples.md#22-setup-drupal)**. +#### Does it work with Joomla? + +Yes, see **[How to setup Joomla](Examples.md#23-setup-joomla)**. + #### Does it work with Laravel? -Yes, see **[How to setup Laravel](Examples.md#23-setup-laravel)**. +Yes, see **[How to setup Laravel](Examples.md#24-setup-laravel)**. #### Does it work with PhalconPHP? -Yes, see **[How to setup Phalcon](Examples.md#24-setup-phalcon)**. +Yes, see **[How to setup Phalcon](Examples.md#25-setup-phalcon)**. #### Does it work with Symfony? -Yes, see **[How to setup Symfony](Examples.md#25-setup-symfony)**. +Yes, see **[How to setup Symfony](Examples.md#26-setup-symfony)**. #### Does it work with Wordpress? -Yes, see **[How to setup Wordpress](Examples.md#26-setup-wordpress)**. +Yes, see **[How to setup Wordpress](Examples.md#27-setup-wordpress)**. #### Does it work with Yii? -Yes, see **[How to setup Yii](Examples.md#27-setup-yii)**. +Yes, see **[How to setup Yii](Examples.md#28-setup-yii)**. #### Does it work with Zend Framework? -Yes, see **[How to setup Zend](Examples.md#28-setup-zend)**. +Yes, see **[How to setup Zend](Examples.md#29-setup-zend)**. ## 4. Troubleshooting diff --git a/docs/Quickstart.md b/docs/Quickstart.md index d7a400b8..30b1dd6d 100644 --- a/docs/Quickstart.md +++ b/docs/Quickstart.md @@ -191,12 +191,13 @@ To quickly find setup instructions for your framework of choice head over to **[ > 2. [Project setup](Examples.md#2-project-setup) > 1. [Setup CakePHP](Examples.md#21-setup-cakephp) > 2. [Setup Drupal](Examples.md#22-setup-drupal) -> 3. [Setup Laravel](Examples.md#23-setup-laravel) -> 4. [Setup Phalcon](Examples.md#24-setup-phalcon) -> 5. [Setup Symfony](Examples.md#25-setup-symfony) -> 6. [Setup Wordpress](Examples.md#26-setup-wordpress) -> 7. [Setup Yii](Examples.md#27-setup-yii) -> 8. [Setup Zend](Examples.md#28-setup-zend) +> 3. [Setup Joomla](Examples.md#23-setup-joomla) +> 4. [Setup Laravel](Examples.md#24-setup-laravel) +> 5. [Setup Phalcon](Examples.md#25-setup-phalcon) +> 6. [Setup Symfony](Examples.md#26-setup-symfony) +> 7. [Setup Wordpress](Examples.md#27-setup-wordpress) +> 8. [Setup Yii](Examples.md#28-setup-yii) +> 9. [Setup Zend](Examples.md#29-setup-zend) ## 6. Enter the PHP Docker container diff --git a/docs/img/logos/joomla.png b/docs/img/logos/joomla.png new file mode 100644 index 0000000000000000000000000000000000000000..d0e298f8178c714f70134634506c00898d188ad5 GIT binary patch literal 4997 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 P00000NkvXXu0mjfWd(W2 literal 0 HcmV?d00001