Nn web site building blocks

From Wiki at Neela Nurseries
Revision as of 21:19, 27 February 2018 by Ted (talk | contribs) (PHP Libraries)
Jump to: navigation, search

Wiki Main Page | User Page of Ted | Google search engine



Web Site Building Blocks
first article on Neela Nurseries' wiki, 2017 June



The following tools and web and programming frameworks are all part of Ted's volunteer efforts with ASI web site, and in-progress study of how to configure and customize shopping carts, article and document management pages, and easy-to-read easy-to-adjust web page layouts using CSS and third party, open source frameworks:


  • Linux package selection for constrained systems


^ MYSQL database server and client

An important MYSQL database access recovery step is to reset the database server's root password in cases where that is lost. The following statement run in a mysqld_safe --skip-grant-tables session works, while some of the more standard and MYSQL 5.7 documented password change statements fail due to a bug in MYSQL . . .


  mysql> update mysql.user set authentication_string=password('MyNewPass') where user='root';


  • PHP set up

^ Apache2 web server configuration

Apache2 and setting up virtual hosts, web sites:

  • https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts
    SSL certificates and SSL redirection
  • SSL Self-signed certificate creation and config
  • Sub-domain creation under Ubuntu 16.04 LTS and similar Linux releases
  • Mediawiki work . . .
  • OpenCart 2.x install and config, 'Wish List' and 'To Do List' . . .

    ^ Cascading Style Sheets (CSS)

    - 2018-01-15 MON -


    ^ 2017-11-27 - Web Page Fonts


    ^ 2017-11-28 - Javascript tutorials, examples and frameworks


    These are the first topics on which Ted wants to gather together notes. Hard to remember all details regarding pitfalls encountered, solutions found, and ideas for improving the configuration and use experience of these softwares . . . - TMH


    PHP Libraries

    Programmer James Heinrich has written a PHP library to thumbnail and manipulate image files in other ways. James' PHP library project is available at both GitHub and SourceForge,


    To obtain a copy of this project,

       $ git clone https://github.com/JamesHeinrich/phpThumb ./phpThumb
    

    Chosen directory for downloaded instance of phpThumb is outside of web doc root. Will see whether this works . . . running in the 'demo' directory of phpThumb find that PHP's usable memory is set to -1, a seeming default value which likely won't allow phpThumb to work properly. Have per instructions installed ImageMagick utilities as available through Ubuntu 16.04.x LTS package list. The configuration checking script phpThumb/demo/phpThumb.demo.check.php so far reports that no ImageMagick program found.

    Also noticed that config checker says phpThumb cache directory present, readable but not writable. Created a /var/cache/phpThumb directory and amended file phpThumb/phpThumb.config.php. Cache directory yet reported 'not writable'. Changed ownership on this directory from root:root to www-data:www-data. Ok now writable . . . and now ImageMagick also found! Hmm, interesting.

    Demo files are a little hard to parse at first glance, which hashes of hashes set up to hold multiple demos shown in a single web document. The following phpThumb demo file at SourceForge is also part of our download. This looks like best starting point to get started and running with basic thumb-nailing of images:

       http://phpthumb.sourceforge.net/index.php?source=phpThumb.demo.object.simple.php
    


    About phpThumb file caching, this project file has important info starting at about line 135:

       https://github.com/JamesHeinrich/phpThumb/blob/master/docs/phpthumb.readme.txt
    

    "Note: phpThumb.php is where the caching code is located, if you instantiate your own phpThumb() object that code is bypassed and it's up to you to handle the reading and writing of cached files."


    When using single object to process multiple images:

       http://phpthumb.sourceforge.net/index.php?source=phpThumb.demo.object.php
    


    Summary - phpThumb file edits to get simple demo working

    We place phpThumb project files in <web_document_root>/lib/phpThumb. Here we edit two files, those named phpthumb.config.php and phpthumb.class.php. In the config file we set phpThumb's high security password to something non-null and long, non-dictionary word string:

      45 $PHPTHUMB_CONFIG['high_security_password']      = '...';
    


    In the class file we amend line 70 to name a relative path to a cache directory for phpThumb:

       70         public $config_cache_directory                      = './cache'; // null;
    


    We still can't make work the phpThumb.demo.demo.php script. We seem unable to make a successful call to the primary script with HTTP 'get' type parameters. This is the script which manages thumbnail caching, the script named phpThumb.php . . .