From 407a636913853338db357f63fa1335a2c5b60242 Mon Sep 17 00:00:00 2001 From: cytopia Date: Wed, 1 Aug 2018 00:10:19 +0200 Subject: [PATCH] Documentation: Install Magento --- README.md | 5 + docs/_includes/links/examples.rst | 6 + docs/_includes/links/tools.rst | 6 + docs/examples/setup-magento.rst | 181 ++++++++++++++++++ .../create-your-first-project.rst | 1 + docs/img/logo_fw/magento.png | Bin 0 -> 2160 bytes docs/index.rst | 1 + docs/readings/available-tools.rst | 2 + docs/support/faq.rst | 6 + 9 files changed, 208 insertions(+) create mode 100644 docs/examples/setup-magento.rst create mode 100644 docs/img/logo_fw/magento.png diff --git a/README.md b/README.md index 3d12c634..07366c89 100644 --- a/README.md +++ b/README.md @@ -349,6 +349,10 @@ The following tools will assist you on creating new projects easily as well as h :wrench: laravel installer laravel is a command line tool that lets you easily install the Laravel framework. + + :wrench: linkcheck + linkcheck is a command line tool that searches for URLs in files (optionally limited by extension) and validates their HTTP status code. + :wrench: linuxbrew brew is a MacOS Homenbrew clone for Linux. @@ -439,6 +443,7 @@ As far as tested there are no limitations and you can use any Framework or CMS j [![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) +[![Magento](docs/img/logo_fw/magento.png)](https://magento.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) diff --git a/docs/_includes/links/examples.rst b/docs/_includes/links/examples.rst index 9e5fc310..87726129 100644 --- a/docs/_includes/links/examples.rst +++ b/docs/_includes/links/examples.rst @@ -28,6 +28,12 @@ Official Laravel Documentation +.. |ext_lnk_example_magento_documentation| raw:: html + + + Official Magento Documentation + + .. |ext_lnk_example_phalcon_documentation| raw:: html diff --git a/docs/_includes/links/tools.rst b/docs/_includes/links/tools.rst index 0ecf0180..90627e91 100644 --- a/docs/_includes/links/tools.rst +++ b/docs/_includes/links/tools.rst @@ -87,6 +87,12 @@ Laravel installer +.. |ext_lnk_tool_linkcheck| raw:: html + + + linkcheck + + .. |ext_lnk_tool_mdl| raw:: html diff --git a/docs/examples/setup-magento.rst b/docs/examples/setup-magento.rst new file mode 100644 index 00000000..5119c33e --- /dev/null +++ b/docs/examples/setup-magento.rst @@ -0,0 +1,181 @@ +.. include:: /_includes/all.rst + +.. _example_setup_magento: + +************* +Setup Magento +************* + +This example will use ``git`` and ``composer`` to install Magento from within the Devilbox PHP container. + +After completing the below listed steps, you will have a working Magento setup ready to be +served via http and https. + +.. seealso:: |ext_lnk_example_magento_documentation| + + +**Table of Contents** + +.. contents:: :local: + + +Overview +======== + +The following configuration will be used: + ++--------------+--------------------------+-------------+------------+---------------------------------------------------+ +| Project name | VirtualHost directory | Database | TLD_SUFFIX | Project URL | ++==============+==========================+=============+============+===================================================+ +| my-magento | /shared/httpd/my-magento | my_magento | loc | http://my-magento.loc |br| https://my-magento.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 Magento via ``git`` and ``composer`` +4. Symlink webroot directory +5. Add MySQL database +6. Setup DNS record +7. Visit http://my-magento.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| +( ``.TLD_SUFFIX`` will be the final URL ). + +.. code-block:: bash + + devilbox@php-7.1.20 in /shared/httpd $ mkdir my-magento + +.. seealso:: :ref:`env_tld_suffix` + + +3. Install Magento +------------------ + +Navigate into your newly created vhost directory and install Magento with ``git``. + +.. code-block:: bash + + devilbox@php-7.1.20 in /shared/httpd $ cd my-magento + + # Download Magento with git + devilbox@php-7.1.20 in /shared/httpd/my-magento $ git clone https://github.com/magento/magento2 + + # Checkout the latest stable git tag + devilbox@php-7.1.20 in /shared/httpd/my-magento $ cd magento2 + devilbox@php-7.1.20 in /shared/httpd/my-magento $ git checkout 2.2.5 + + # Install dependencies with Composer + devilbox@php-7.1.20 in /shared/httpd/my-magento $ composer install + +How does the directory structure look after installation: + +.. code-block:: bash + + devilbox@php-7.1.20 in /shared/httpd/my-magento $ tree -L 1 + . + └── magento2 + + 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 ``/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.1.20 in /shared/httpd/my-magento $ ln -s magento2/ htdocs + +How does the directory structure look after symlinking: + +.. code-block:: bash + + devilbox@php-7.1.20 in /shared/httpd/my-magento $ tree -L 1 + . + ├── magento2 + └── htdocs -> magento2 + + 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.1.20 in /shared/httpd/my-magento $ mysql -u root -h 127.0.0.1 -p -e 'CREATE DATABASE my_magento;' + + +7. 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-magento.loc + +.. seealso:: + + * :ref:`howto_add_project_hosts_entry_on_mac` + * :ref:`howto_add_project_hosts_entry_on_win` + * :ref:`setup_auto_dns` + + +8. Open your browser +-------------------- + +All set now, you can visit http://my-magento.loc or https://my-magento.loc in your browser +and follow the installation steps. + +.. seealso:: :ref:`setup_valid_https` diff --git a/docs/getting-started/create-your-first-project.rst b/docs/getting-started/create-your-first-project.rst index f47e11cd..5e447cc1 100644 --- a/docs/getting-started/create-your-first-project.rst +++ b/docs/getting-started/create-your-first-project.rst @@ -199,6 +199,7 @@ their articles: * :ref:`example_setup_drupal` * :ref:`example_setup_joomla` * :ref:`example_setup_laravel` + * :ref:`example_setup_magento` * :ref:`example_setup_phalcon` * :ref:`example_setup_photon_cms` * :ref:`example_setup_presta_shop` diff --git a/docs/img/logo_fw/magento.png b/docs/img/logo_fw/magento.png new file mode 100644 index 0000000000000000000000000000000000000000..8abfade8d45953108f6ec3e72e2943cf1747b9e6 GIT binary patch literal 2160 zcmV-$2#@!PP)= zna@&}{R;vD=uL+apEQ%7x6LJgkOkwc!n+TEkU1RY;#!DXW+Xy({flZ!3Zb`tf`Y`| zKi;^gw2}}4nW|FpHsn<(e{`eDGOZ~Tm z(*D8Yq97*A5|}IxQHF7b0D_@Dd5)Nu)((&KYXI8lyDb%JqGY2y!TZO)iYC1+`J=YkY;w0;Q1`!o$nJct5= zX*r*@zep@u41V6$E@hhggRFr}^QB5CzNbKfXBq)Ojr>6#5{fl}Q*h&Xl>M+WU1C^drYctX_AF1meF2#QaGgQq4O#C|W{5JrXq8 zm)vjT$(Al_fZE!^`ObX{O_l=kq96(}m^PYok0t?HHGqf)5BP%z0DjfMDY^l}22+N7 zA6R-+s7(z}E?op|x0CQhkN_YIwE9a>E?odr^=64802sE8yfB^TvkqhffGP9++fRjG z?DhXWQ4(-Zv3R~20NT=m+!Uz)HRl{1L@fR1Q@{suv)`m{7gSpvi6Ru00lsO z9{4WSg0?n;QVNpzz%zW#k)Lq(7GF?>f9`h>cPtpHRabceml$W2xG8;;d4V62T%L2= zkD2Ba`Clw4E8%mG>cJWQ233V}{w$Qn%b+Cm{;mss0D)$|2F)dBn&xjm4FLLauiZYL zU5l@$Bqid;DW9UPsUGM=MH!+(7M3ahJf=$9UVYN|`wg9XVgjJrPJu~%evESdEa;7; z@1Vc!aw8OM5BaZUFwflzv1r!IQeK({ul!=Da}fc7=4d@5PwYAe%HfIn6?f8JZ0H^U>pV@7EakNpZ(lHG&Lm> zK2pi`rkI!3rYZ8Hy&i!3^=BVf>TItOhD2;_LKslNo#6ZXXFGd601X>3MPBR2lmY_B^fO@@Ae{LOJ0Jnh9+O9$CXahIo zfld=%ZEk|rX7}ImZg^|BLvfa!c-hNLw>uT3p=Y@tY?9!3*Fq z0ICIPljFVvfRauRKqy#Y?ZoGAeapRWA`Yfs!g^WYHwbTK<9&mQ9;NxXzGA~3+at5Y|_x5TM9mH6yA6V=C_XZ4FF<( z2KZGKaOaF0tX*w5L1kh1ojOMPC#Uz@dU}61bP&-u=fYpSOdZ#b1k|}3o@f-r5`Tyt z_QY&+R;kl-pb&;vvif!v@Kqm2-1dJ|8s`)m2_LuXb`S^!h|VZ6i36XDd%tFqdgYuG zKvaY8_90JLGXdsxhv8f{=4o_XJwiRwP0{1y)>%uwS$j{-;?8-G=Q>{