Merge pull request #332 from cytopia/documentation-presta-shop
Documentation presta shop
60
README.md
@ -337,41 +337,94 @@ The following tools will assist you on creating new projects easily as well as h
|
||||
<td width="220" style="width:220px;">:wrench: <a href="https://github.com/cytopia/awesome-ci">awesome-ci</a></td>
|
||||
<td>A set of tools for static code analysis:<br/><br/><code>file-cr</code>, <code>file-crlf</code>, <code>file-empty</code>, <code>file-nullbyte-char</code>, <code>file-trailing-newline</code>, <code>file-trailing-single-newline</code>, <code>file-trailing-space</code>, <code>file-utf8</code>, <code>file-utf8-bom</code>, <code>git-conflicts</code>, <code>git-ignored</code>, <code>inline-css</code>, <code>inline-js</code>, <code>regex-grep</code>, <code>regex-perl</code>, <code>syntax-bash</code>, <code>syntax-css</code>, <code>syntax-js</code>, <code>syntax-json</code>, <code>syntax-markdown</code>, <code>syntax-perl</code>, <code>syntax-php</code>, <code>syntax-python</code>, <code>syntax-ruby</code>, <code>syntax-scss</code>, <code>syntax-sh</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>:wrench: <a href="https://github.com/nvie/gitflow">git flow</a></td>
|
||||
<td><code>git-flow</code> is a Git extensions to provide high-level repository operations for Vincent Driessen's branching model.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>:wrench: <a href="https://github.com/zaach/jsonlint">json lint</a></td>
|
||||
<td><code>jsonlint</code> is a command line linter for JSON files.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>:wrench: <a href="https://github.com/laravel/installer">laravel installer</a></td>
|
||||
<td><code>laravel</code> is a command line tool that lets you easily install the Laravel framework.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>:wrench: <a href="https://linuxbrew.sh/">linuxbrew</a></td>
|
||||
<td><code>brew</code> is a MacOS Homenbrew clone for Linux.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>:wrench: <a href="https://github.com/DavidAnson/markdownlint">markdownlint</a></td>
|
||||
<td><code>markdownlint</code> is a markdown linter.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>:wrench: <a href="https://github.com/markdownlint/markdownlint">mdl</a></td>
|
||||
<td><code>mdl</code> is a markdown linter.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>:wrench: <a href="https://github.com/phalcon/phalcon-devtools">phalcon devtools</a></td>
|
||||
<td><code>phalcon</code> is a command line tool that lets you easily install the PhalconPHP framework.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>:wrench: <a href="https://github.com/photoncms/installer">photon installer</a></td>
|
||||
<td><code>photon</code> is a command line tool that lets you easily install the PhotonCMS.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>:wrench: <a href="https://github.com/squizlabs/PHP_CodeSniffer">php code sniffer</a></td>
|
||||
<td><code>phpcs</code> is a command line tool that tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>:wrench: <a href="https://github.com/squizlabs/PHP_CodeSniffer">php code beautifier</a></td>
|
||||
<td><code>phpcbf</code> is a command line tool that automatically correct coding standard violations.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>:wrench: <a href="https://github.com/brigade/scss-lint/">scss-lint</a></td>
|
||||
<td><code>scss-lint</code> is a css/scss linter.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>:wrench: <a href="https://github.com/symfony/symfony-installer">symfony installer</a></td>
|
||||
<td><code>symfony</code> is a command line tool that lets you easily install the Symfony framework.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>:wrench: <a href="https://github.com/jonas/tig">tig</a></td>
|
||||
<td><code>tig</code> is a text-mode interface for git.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>:wrench: <a href="https://wp-cli.org">wp-cli</a></td>
|
||||
<td><code>wp</code> is a command line tool that lets you easily install Wordpress.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>:wrench: <a href="https://github.com/adrienverge/yamllint">yamllint</a></td>
|
||||
<td><code>yamllint</code> is a linter for yaml files.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Well-known and popular tools will be at your service as well:
|
||||
|
||||
<a target="_blank" title="Ansible" href="https://www.ansible.com/"><img width="64" style="width:64px" src="docs/img/logo_tools/ansible.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="CodeCeption" href="https://codeception.com/"><img width="64" style="width:64px" src="docs/img/logo_tools/codeception.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="Composer" href="https://getcomposer.org"><img width="64" style="width:64px" src="docs/img/logo_tools/composer.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="Drupal Console" href="https://drupalconsole.com"><img width="64" style="battery" src="docs/img/logo_tools/drupal-console.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="Drush" href="https://www.drupal.org/project/drush"><img width="64" style="width:64px;" src="docs/img/logo_tools/drush.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="ESLint" href="https://eslint.org/"><img width="64" style="width:64px;" src="docs/img/logo_tools/eslint.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="Git" href="https://git-scm.com"><img width="64" style="width:64px;" src="docs/img/logo_tools/git.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="Gulp" href="https://gulpjs.com/"><img width="64" style="width:64px;" src="docs/img/logo_tools/gulp.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="Grunt" href="https://gruntjs.com/"><img width="64" style="width:64px;" src="docs/img/logo_tools/grunt.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="mysqldump-secure" href="https://mysqldump-secure.org"><img width="64" style="width:64px;" src="docs/img/logo_tools/mysqldump-secure.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="NodeJS" href="https://nodejs.org"><img width="64" style="width:64px;" src="docs/img/logo_tools/nodejs.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="NPM" href="https://www.npmjs.com"><img width="64" style="width:64px;" src="docs/img/logo_tools/npm.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="PHPUnit" href="https://phpunit.de/"><img width="64" style="width:64px;" src="docs/img/logo_tools/phpunit.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="Sass" href="https://sass-lang.com/"><img width="64" style="width:64px;" src="docs/img/logo_tools/sass.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="Webpack" href="https://webpack.js.org/"><img width="64" style="width:64px;" src="docs/img/logo_tools/webpack.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="Yarn" href="https://yarnpkg.com/en/"><img width="64" style="width:64px;" src="docs/img/logo_tools/yarn.png" alt="Devilbox"/></a>
|
||||
|
||||
|
||||
#### Available PHP Modules
|
||||
|
||||
The devilbox is a development stack, so it is made sure that a lot of PHP modules are available out of the box in order to work with many different frameworks.
|
||||
|
||||
> *amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib*
|
||||
> *amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib*
|
||||
|
||||
#### Custom PHP Modules
|
||||
|
||||
@ -382,11 +435,16 @@ You can also copy any custom modules into `mod/(php-fpm)-<VERSION>` and add a cu
|
||||
As far as tested there are no limitations and you can use any Framework or CMS just as you would on your live environment. Below are a few examples of extensively tested Frameworks and CMS:
|
||||
|
||||
[![CakePHP](docs/img/logo_fw/cake.png)](https://cakephp.org)
|
||||
[![CakePHP](docs/img/logo_fw/codeigniter.png)](https://www.codeigniter.com/)
|
||||
[![Drupal](docs/img/logo_fw/drupal.png)](https://www.drupal.org)
|
||||
[![Joomla](docs/img/logo_fw/joomla.png)](https://www.joomla.org)
|
||||
[![Laravel](docs/img/logo_fw/laravel.png)](https://laravel.com)
|
||||
[![Phalcon](docs/img/logo_fw/phalcon.png)](https://phalconphp.com)
|
||||
[![PhotonCMS](docs/img/logo_fw/photoncms.png)](https://www.photonics.com/)
|
||||
[![PrestaShop](docs/img/logo_fw/prestashop.png)](https://www.prestashop.com/en)
|
||||
[![Shopware](docs/img/logo_fw/shopware.png)](https://en.shopware.com/)
|
||||
[![Symfony](docs/img/logo_fw/symfony.png)](https://symfony.com)
|
||||
[![Typo3](docs/img/logo_fw/typo3.png)](https://typo3.org/)
|
||||
[![Wordpress](docs/img/logo_fw/wordpress.png)](https://wordpress.org)
|
||||
[![Yii](docs/img/logo_fw/yii.png)](http://www.yiiframework.com)
|
||||
[![Zend](docs/img/logo_fw/zend.png)](https://framework.zend.com)
|
||||
|
@ -40,6 +40,12 @@
|
||||
Official Photon CMS Documentation <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
|
||||
</a>
|
||||
|
||||
.. |ext_lnk_example_presta_shop| raw:: html
|
||||
|
||||
<a target="_blank" href="http://doc.prestashop.com/display/PS17/Getting+started">
|
||||
Official PrestaShop Documentation <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
|
||||
</a>
|
||||
|
||||
.. |ext_lnk_example_shopware_documentation| raw:: html
|
||||
|
||||
<a target="_blank" href="https://en-community.shopware.com/Shopware-5-Installer_detail_1351_730.html/sCoreId,bdd630e6d079964f3f697fccff83a987">
|
||||
|
183
docs/examples/setup-presta-shop.rst
Normal file
@ -0,0 +1,183 @@
|
||||
.. include:: /_includes/all.rst
|
||||
|
||||
.. _example_setup_presta_shop:
|
||||
|
||||
****************
|
||||
Setup PrestaShop
|
||||
****************
|
||||
|
||||
This example will use ``git`` and ``composer`` to install PrestaShop from within the Devilbox
|
||||
PHP container.
|
||||
|
||||
After completing the below listed steps, you will have a working PrestaShop setup ready to be
|
||||
served via http and https.
|
||||
|
||||
.. seealso:: |ext_lnk_example_presta_shop|
|
||||
|
||||
|
||||
**Table of Contents**
|
||||
|
||||
.. contents:: :local:
|
||||
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
The following configuration will be used:
|
||||
|
||||
+--------------+--------------------------+-------------+------------+-------------------------------------------------+
|
||||
| Project name | VirtualHost directory | Database | TLD_SUFFIX | Project URL |
|
||||
+==============+==========================+=============+============+=================================================+
|
||||
| my-presta | /shared/httpd/my-presta | my_presta | loc | http://my-presta.loc |br| https://my-presta.loc |
|
||||
+--------------+--------------------------+-------------+------------+-------------------------------------------------+
|
||||
|
||||
.. note::
|
||||
* Inside the Devilbox PHP container, projects are always in ``/shared/httpd/``.
|
||||
* On your host operating system, projects are by default in ``./data/www/`` inside the
|
||||
Devilbox git directory. This path can be changed via :ref:`env_httpd_datadir`.
|
||||
|
||||
|
||||
Walk through
|
||||
============
|
||||
|
||||
It will be ready in eight simple steps:
|
||||
|
||||
1. Enter the PHP container
|
||||
2. Create a new VirtualHost directory
|
||||
3. Install PrestaShop via ``git`` and ``composer``
|
||||
4. Symlink webroot directory
|
||||
5. Add MySQL database
|
||||
6. Configure datbase connection
|
||||
7. Setup DNS record
|
||||
8. Visit http://my-presta.loc in your browser
|
||||
|
||||
|
||||
1. Enter the PHP container
|
||||
--------------------------
|
||||
|
||||
All work will be done inside the PHP container as it provides you with all required command line
|
||||
tools.
|
||||
|
||||
Navigate to the Devilbox git directory and execute ``shell.sh`` (or ``shell.bat`` on Windows) to
|
||||
enter the running PHP container.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
host> ./shell.sh
|
||||
|
||||
.. seealso::
|
||||
* :ref:`enter_the_php_container`
|
||||
* :ref:`work_inside_the_php_container`
|
||||
* :ref:`available_tools`
|
||||
|
||||
|
||||
2. Create new vhost directory
|
||||
-----------------------------
|
||||
|
||||
The vhost directory defines the name under which your project will be available. |br|
|
||||
( ``<vhost dir>.TLD_SUFFIX`` will be the final URL ).
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
devilbox@php-7.0.20 in /shared/httpd $ mkdir my-presta
|
||||
|
||||
.. seealso:: :ref:`env_tld_suffix`
|
||||
|
||||
|
||||
3. Install PrestaShop
|
||||
---------------------
|
||||
|
||||
Navigate into your newly created vhost directory and install PrestaShop with ``git`` and ``composer``.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
devilbox@php-7.0.20 in /shared/httpd $ cd my-presta
|
||||
|
||||
# Download PrestaShop with git
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-presta $ git clone https://github.com/PrestaShop/PrestaShop
|
||||
|
||||
# Checkout the latest stable git tag
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-presta $ cd PrestaShop
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-presta $ git checkout 1.7.4.2
|
||||
|
||||
# Install dependencies with Composer
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-presta $ composer install
|
||||
|
||||
How does the directory structure look after installation:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-presta $ tree -L 1
|
||||
.
|
||||
└── PrestaShop
|
||||
|
||||
1 directory, 0 files
|
||||
|
||||
|
||||
4. Symlink webroot
|
||||
------------------
|
||||
|
||||
Symlinking the actual webroot directory to ``htdocs`` is important. The web server expects every
|
||||
project's document root to be in ``<vhost dir>/htdocs/``. This is the path where it will serve
|
||||
the files. This is also the path where your frameworks entrypoint (usually ``index.php``) should
|
||||
be found.
|
||||
|
||||
Some frameworks however provide its actual content in nested directories of unknown levels.
|
||||
This would be impossible to figure out by the web server, so you manually have to symlink it back
|
||||
to its expected path.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-presta $ ln -s PrestaShop/ htdocs
|
||||
|
||||
How does the directory structure look after symlinking:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-presta $ tree -L 1
|
||||
.
|
||||
├── PrestaShop
|
||||
└── htdocs -> PrestaShop
|
||||
|
||||
2 directories, 0 files
|
||||
|
||||
As you can see from the above directory structure, ``htdocs`` is available in its expected
|
||||
path and points to the frameworks entrypoint.
|
||||
|
||||
|
||||
5. Add MySQL Database
|
||||
---------------------
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
devilbox@php-7.0.20 in /shared/httpd/my-presta $ mysql -u root -h 127.0.0.1 -p -e 'CREATE DATABASE my_presta;'
|
||||
|
||||
|
||||
6. DNS record
|
||||
-------------
|
||||
|
||||
If you **have** Auto DNS configured already, you can skip this section, because DNS entries will
|
||||
be available automatically by the bundled DNS server.
|
||||
|
||||
If you **don't have** Auto DNS configured, you will need to add the following line to your
|
||||
host operating systems ``/etc/hosts`` file (or ``C:\Windows\System32\drivers\etc`` on Windows):
|
||||
|
||||
.. code-block:: bash
|
||||
:caption: /etc/hosts
|
||||
|
||||
127.0.0.1 my-presta.loc
|
||||
|
||||
.. seealso::
|
||||
|
||||
* :ref:`howto_add_project_hosts_entry_on_mac`
|
||||
* :ref:`howto_add_project_hosts_entry_on_win`
|
||||
* :ref:`setup_auto_dns`
|
||||
|
||||
|
||||
7. Open your browser
|
||||
--------------------
|
||||
|
||||
All set now, you can visit http://my-presta.loc or https://my-presta.loc in your browser and
|
||||
follow the installation steps.
|
||||
|
||||
.. seealso:: :ref:`setup_valid_https`
|
@ -201,6 +201,7 @@ their articles:
|
||||
* :ref:`example_setup_laravel`
|
||||
* :ref:`example_setup_phalcon`
|
||||
* :ref:`example_setup_photon_cms`
|
||||
* :ref:`example_setup_presta_shop`
|
||||
* :ref:`example_setup_shopware`
|
||||
* :ref:`example_setup_symfony`
|
||||
* :ref:`example_setup_typo3`
|
||||
|
BIN
docs/img/logo_fw/codeigniter.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
docs/img/logo_fw/photoncms.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
docs/img/logo_fw/prestashop.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
docs/img/logo_fw/shopware.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
docs/img/logo_fw/typo3.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
docs/img/logo_tools/ansible.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
docs/img/logo_tools/codeception.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
docs/img/logo_tools/eslint.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
docs/img/logo_tools/grunt.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
docs/img/logo_tools/gulp.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
docs/img/logo_tools/phpunit.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
docs/img/logo_tools/sass.png
Normal file
After Width: | Height: | Size: 7.2 KiB |
BIN
docs/img/logo_tools/webpack.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
docs/img/logo_tools/yarn.png
Normal file
After Width: | Height: | Size: 19 KiB |
@ -144,6 +144,7 @@ host is ready to be served with your custom domain.
|
||||
examples/setup-laravel
|
||||
examples/setup-phalcon
|
||||
examples/setup-photon-cms
|
||||
examples/setup-presta-shop
|
||||
examples/setup-shopware
|
||||
examples/setup-symfony
|
||||
examples/setup-typo3
|
||||
|
@ -189,6 +189,12 @@ Does it work with Photon CMS?
|
||||
Yes, see :ref:`example_setup_photon_cms`
|
||||
|
||||
|
||||
Does it work with PrestaShop?
|
||||
-----------------------------
|
||||
|
||||
Yes, see :ref:`example_setup_presta_shop`
|
||||
|
||||
|
||||
Does it work with Shopware?
|
||||
---------------------------
|
||||
|
||||
|