Deploying a Site with Shared Resources: Difference between revisions
Jump to navigation
Jump to search
(Created page with "==TK== Take notes while deploying the Luzern and Luzern Pro websites. Category:CMS Documentation") |
No edit summary |
||
| (6 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
== | == TODO Develop a workflow that incorporates GIT == | ||
[[Category:CMS Documentation]] | * Would require SSH access to the production server. | ||
** Sites hosted by NameCheap and GoDaddy have SSH access. | |||
** Fall back on FTP uploads. | |||
== Site-specific files == | |||
*Make sure to upload <code>/_config/app_config.php </code> with development settings disabled. | |||
:This should be as simple as: | |||
<syntaxhighlight lang="php"> | |||
define ("IS_DEV", false); | |||
</syntaxhighlight> | |||
* Do a full backup of the existing site if making significant structural changes. | |||
** Try to save the archive outside of the web directory on the server. | |||
** With SSH access: | |||
<syntaxhighlight lang="bash"> | |||
tar -czvf [SITE_NAME]-[DATE_yymmdd].tar.gz file1 file2 dir1 dir2 ... | |||
</syntaxhighlight> | |||
::* Creates a gzipped archive named <code>[SITE_NAME]-[DATE_yymmdd].tar.gz</code> from the files <code>file1 file2 dir1 dir2 ...</code> | |||
::* <code>-c</code> create an archive | |||
::* <code>-z</code> compress the archive | |||
::* <code>-v</code> verbose mode | |||
::* <code>-f</code> specifies the name of the archive file | |||
:* Without SSH access: | |||
:** Site cPanel > File Manager > select the files and directories to archive & compress | |||
:** Be aware that the cPanel File Manager usually imposes a size limit on the files being compressed and doesn't work well with a large amount of images. | |||
:* Always download the archive after creating it. | |||
* Copy local files to server. | |||
** Collect files into a single archive and upload. | |||
** With SSH access use command line to extract the files. | |||
** Without SSH access use cPanel File Manager. | |||
* Permissions | |||
** Until I research this more completely, I am settings permissions at `644` for files and `705` for directories. | |||
** This is only an issue when uploading files and directories for the first time. | |||
*** '''Netbeans''' has a setting in ''site'' > ''source files'' > ''right click'' > '''Properties''' > '''Categories: Run Configuration''' > '''Preserve Remote File Permissions''' | |||
** Some adjustment may need to be made for directories: | |||
*** Where images are uploaded (but `705` has worked fine for that so far). | |||
*** And for directories where the PHP pages deposit cache files. | |||
<syntaxhighlight lang="bash"> | |||
$ find ./ -type d -exec chmod 705 {} \; | |||
$ find ./ -type f -exec chmod 644 {} \; | |||
</syntaxhighlight> | |||
*TODO: Git workflow | |||
==Shared files and libraries== | |||
*<code>[COMMON_LIB]_ajax/</code> >> <code>/_hostmgr/_ajax/</code> | |||
*<code>[COMMON_LIB]_classes/</code> >> <code>/_classes/</code> | |||
*<code>[COMMON_LIB]_lib/</code> >> <code>/_lib/</code><br>'''TODO''' This directory needs to be cleaned up. Possibly the subdirectory <code>error/</code> is the only one that needs to be uploaded. | |||
*<code>[COMMON_LIB]_templates/</code> >> <code>/_hostmgr/_templates/</code> | |||
*<code>[COMMON_LIB]hostmgr/sections/</code> >> <code>/_hostmgr/sections/</code> | |||
*<code>[COMMON_LIB]scripts/</code> >> <code>/scripts/</code> | |||
**<code>jquery/</code> | |||
**<code>littled/</code> | |||
***JavaScript code should be copied from the minified JS library file to its corresponding <code>*-source.js</code> file. | |||
***JavaScript code uploaded to server should be minified. | |||
***Do not upload <code>*-source.js</code> files. | |||
*TODO: Git workflow | |||
==Database== | |||
*Do a complete backup of the existing database before making any structural changes.<br />Naming convention <code>[SITE_NAME]-[DATEYYMMDD].sql</code> | |||
*Store all updates to database data and structure in local <code>_dbo/</code> directory. | |||
*Update production database using cPanel > phpMyAdmin | |||
[[Category:Project Documentation]] [[Category:CMS Documentation]] [[Category:Git]][[Category:Web Hosting]][[Category:Web Development]] | |||
Latest revision as of 12:41, 6 October 2018
TODO Develop a workflow that incorporates GIT[edit]
- Would require SSH access to the production server.
- Sites hosted by NameCheap and GoDaddy have SSH access.
- Fall back on FTP uploads.
Site-specific files[edit]
- Make sure to upload
/_config/app_config.phpwith development settings disabled.
- This should be as simple as:
define ("IS_DEV", false);
- Do a full backup of the existing site if making significant structural changes.
- Try to save the archive outside of the web directory on the server.
- With SSH access:
tar -czvf [SITE_NAME]-[DATE_yymmdd].tar.gz file1 file2 dir1 dir2 ...
- Creates a gzipped archive named
[SITE_NAME]-[DATE_yymmdd].tar.gzfrom the filesfile1 file2 dir1 dir2 ... -ccreate an archive-zcompress the archive-vverbose mode-fspecifies the name of the archive file
- Creates a gzipped archive named
- Without SSH access:
- Site cPanel > File Manager > select the files and directories to archive & compress
- Be aware that the cPanel File Manager usually imposes a size limit on the files being compressed and doesn't work well with a large amount of images.
- Always download the archive after creating it.
- Copy local files to server.
- Collect files into a single archive and upload.
- With SSH access use command line to extract the files.
- Without SSH access use cPanel File Manager.
- Permissions
- Until I research this more completely, I am settings permissions at
644for files and705for directories. - This is only an issue when uploading files and directories for the first time.
- Netbeans has a setting in site > source files > right click > Properties > Categories: Run Configuration > Preserve Remote File Permissions
- Some adjustment may need to be made for directories:
- Where images are uploaded (but
705has worked fine for that so far). - And for directories where the PHP pages deposit cache files.
- Where images are uploaded (but
- Until I research this more completely, I am settings permissions at
$ find ./ -type d -exec chmod 705 {} \;
$ find ./ -type f -exec chmod 644 {} \;
- TODO: Git workflow
[edit]
[COMMON_LIB]_ajax/>>/_hostmgr/_ajax/[COMMON_LIB]_classes/>>/_classes/[COMMON_LIB]_lib/>>/_lib/
TODO This directory needs to be cleaned up. Possibly the subdirectoryerror/is the only one that needs to be uploaded.[COMMON_LIB]_templates/>>/_hostmgr/_templates/[COMMON_LIB]hostmgr/sections/>>/_hostmgr/sections/[COMMON_LIB]scripts/>>/scripts/jquery/littled/- JavaScript code should be copied from the minified JS library file to its corresponding
*-source.jsfile. - JavaScript code uploaded to server should be minified.
- Do not upload
*-source.jsfiles.
- JavaScript code should be copied from the minified JS library file to its corresponding
- TODO: Git workflow
Database[edit]
- Do a complete backup of the existing database before making any structural changes.
Naming convention[SITE_NAME]-[DATEYYMMDD].sql - Store all updates to database data and structure in local
_dbo/directory. - Update production database using cPanel > phpMyAdmin