How to setup redWEB development environment

  • Install Ubuntu 14.04.x. You can use latest Ubuntu as well but not suggest
  • Upgrade OS after installed
  • Install Synaptic via Ubuntu Software Center.
  • Use Synaptic to install ( You can choose Automatically close after the changes have been successfully applied ). Synaptic will help you install relative packages when it’s required !
    • MySQL 5.5 packages
      • MySQL Workbench
    • Apache
      • apachetop ( optional )
      • suexec ( optional )
      • suphp ( optional )
    • PHP packages. Minimum required
      • php-pear
      • php5-apcu
      • php5-intl
      • php5-xmlrpc
      • php5-sqlite
      • php5-gd
      • php5-gettext
      • php5-curl
      • php5-xsl
      • libapache2-mod-suphp
        • If needed you can switch to use suPHP or another PHP Handler as well
      • php5-mcrypt
      • php5-imagick
      • php5-xdebug
    • Krusader ( optional )
    • FileZilla
    • Git
    • Chromium
  • Config apache ( mod_php )
    • sudo gedit /etc/apache2/envvars
    • Replace APACHE_RUN_USER & APACHE_RUN_GROUP value with your current Ubuntu user
    • Keep open gedit and open
      • etc/apache2/apache2.conf
        • Insert ServerName localhost ( line 154 )
        • Replace /var/www/ by ~/www/localhost
      • Setup Virtualhost
        • etc/apache2/site-available/000-default.conf
          • Remove # for  ServerName http://www.example.com
          • Replace www.example.com by localhost
          • Replace  DocumentRoot /var/www/html by  DocumentRoot ~/www/localhost
          • Insert
            • Options Indexes FollowSymLinks
              AllowOverride All
              Require all granted
        • etc/apache2/site-available/redweb.local.conf
          • Same as above but replace ServerName & path to redWEB www directory ( ~/www/redweb.local )
          • Change error & access log filename with prefix redweb.local.
        • sudo a2ensite redweb.local.conf
        • sudo /etc/init.d/apache2 restart
        • Edit hosts file to point redweb.local to 127.0.0.1
      • Setup php.ini
        • Open /etc/php5/apache2/php.ini
          • max_execution_time = 300
          • max_input_time = 600
          • memory_limit = 1280M ( Your development machine must have at least 8GB RAM or DO NOT use that machine )
          • error_reporting = E_ALL
          • display_errors = On
          • display_startup_errors = On
          • post_max_size = 80M
          • default_charset = “UTF-8”
          • upload_max_filesize = 20M
          • date.timezone = “UTC”
  • Install webmin
    • We can use webmin to manage this development machine
  • Put phpmyadmin under localhost. So we can use localhost/phpmyadmin
    • Setup to use config file with login user / password pre-provided
  • Install phpStorm
    • Follow wizard
      • Choose Dracula themes & colors and fonts ( optional )
      • Check Enable opening files and projects from the command line
    • Download and extra Joomla! into ~/www/ ( complete path will be ~/www/joomla3 ) and use this as Joomla! path in phpStorm
    • Clone redWEB repository to ~/Documents. In this topic redSHOP is sample one
      • rename gulp-config.sample.json to gulp-config.json and replace releaseDir & buildDir as needed
    • Store git access as global
      • git config --global credential.helper store
    • Update submodule
      • git submodule init
      • git submodule update
    • Install required stuffs
      • Use Synaptic to install
        • nodejs
        • nodejs-legacy
        • npm
      • Install composer
      • CD redSHOP repository
        • npm install
        • composer install
          • Now you’ll see some error message because PHP version not match required.
  • Install PHP custom repository ( with PHP 5.x & 7.x included ). You can choose Apache – PHP mode between these PHP version
    • sudo add-apt-repository ppa:ondrej/php
    • Use synaptic to install PHP & required extensions for 5.6 & 7.x
      • Apache still use mod_php with default PHP 5.5 . Disable this module and replace by mod_php of each PHP version if you want to switch to another PHP. Also need update php.ini for each one.
  • phpStorm now ready with gulp to build package
  • phpStorm configuration
    • Appearance & Behavior
      • System settings
        • Uncheck Reopen last project on startup
        • Uncheck Confirm application exit
        • Check Open project in new window
        • Check Save files automatically if application is idle for 15 sec
    • Setup Joomla! Code standard
      • Download https://github.com/joomla/coding-standards/blob/master/IDE/joomla_phpstorm.xml
      • Editor
        • Code Style
          • Manage
            • Import and choose that XML file
        • Inspections
          • Joomla!
            • DocBlocks
              • Uncheck Missing @since tag(s)
      • … ( stil under writing )

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.