dc kyiv2010 jun_08
DESCRIPTION
Andrii(y) Lu(oo)ndi(y)a[c]k aka landike aka REsearchER aka Empirius aka ReLaTRANSCRIPT
![Page 1: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/1.jpg)
Drupal DTPDeployment
Troubles and Problems
6.x
@landike (Andrii Lundiak)
![Page 2: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/2.jpg)
Deployment steps
• ftp, ssh• php access• cron• backups• database
Hosting
![Page 3: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/3.jpg)
Steps levelDeployment Steps
Hosting
Install
Configure
![Page 4: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/4.jpg)
What we have today to discuss1. Hosting environment worries2. First install steps3. Magic php.ini4. This very helpful .htaccess file5. We all like settings.php6. Strange unbelievable error messages
or Let find more Troubles and more Problems and Ways how to
fix them.
![Page 5: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/5.jpg)
Useful MySQL stuff mysqlimport --password=mypass --user=myuser dbname dbname.sql; mysql -h DBSERVER -p -u username dbname < dbname.sql mysqldump -u username -p dbname > dbname.sql mysql -h DBSERVER -p -u username dbname > dbname.sql
Use mysql.cnf file to run easier#---------------[client]user = myuserpassword = mypasshost = DBSERVER[mysql]database = dbname#-------------
mysql < dbname.sql
![Page 6: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/6.jpg)
Log FilesIt's good to know what we have on hosting server
and especially where Log files are.
To access the files directly on the server, on some Unix shells, you can type the following command:
tail -f /var/log/apache2/error.log
To check that you are looking at the right file, you may wish to type the following commands to find where the log files are.
grep 'ErrorLog' /etc/apache2/*grep 'ErrorLog' /etc/apache2/*/*
![Page 7: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/7.jpg)
Error ReportingIf error reporting is turned off, you could be getting a fatal error but
not seeing it. On a production site, it is common to have error reporting turned off.
Take care to have in index.php:error_reporting(E_ALL);ini_set('display_errors', TRUE);ini_set('display_startup_errors', TRUE);
this will help in debug/test mode
![Page 8: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/8.jpg)
Install and Go
Create Database … and enjoy easy installation
If some php settings are not in properly state, install process will tell you (about register_globals, mbstring.http_output, safe_mode, etc.)
![Page 9: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/9.jpg)
php.ini magicianHow to override php settings:
value of a configuration option in php.ini.htaccess directivesusing ini_set() in settings.phpor use control panel on your hosting serveror call to admin personor change hosting server
![Page 10: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/10.jpg)
Another way to overrideIf you have access to php.ini it’s AWESOME,
and It’s great if you have your own php.ini near by www
On some hosting servers such kind of option is used to enable using local php.ini file:
ssuPHP_ConfigPath /hsphere/local/home/sitelocation
This setting must be located in .htaccess fileAnd php.ini file must exists in
/hsphere/local/home/sitelocation/php.ini
![Page 11: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/11.jpg)
Allowed memory size …Fatal error: Allowed memory size of X bytes exhausted (tried to
allocate Y bytes)...
Increase PHP's memory limit, up to 16MB or 24M or 32MB or especially 96MB for a site with built-in image processing using ImageAPI GD
memory_limit = 16M in your php.ini file. orphp_value memory_limit 16M in your .htaccess fileorini_set('memory_limit', '16M'); in your settings.php file
???
![Page 12: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/12.jpg)
Execution time of 30s exceeded“Fatal error: Maximum execution time of 30 seconds exceeded in ….\
includes\database.mysql.inc on line XXX”
The default PHP timeout defined in php.ini is 30 seconds. This is too short for some activities like listing/enabling modules.
max_execution_time 120; (php.ini)php_value max_execution_time 120 (.htaccess)ini_set(‘max_execution_time’, ‘120’)
(settings.php)
Set “max_execution_time “ = 3000 and Enjoy (is very useful in testing stage)
![Page 13: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/13.jpg)
Dear friend - .htaccess.htaccess was not uploaded (Access Denied
message, Disabled Clean urls) RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
“PHP: Error parsing …” - () was in .htaccess comments
http://example.com -> http://www.example.com # RewriteCond %{HTTP_HOST} ^example\.com$ [NC] # RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
http://www.example.com -> http://example.com # RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] # RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
![Page 14: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/14.jpg)
Lovely settings.php $cookie_domain = 'example.com';
Drupal automatically generates a unique session cookie name for each site, based on full domain name
This option is used in CKFinder configuring Do not miss it, going from dev-server to production-server
Take care about file permission and $db_url and $update_free_access
Don’t forget, if you have $db_prefix, you should use {table} in SQL query build
![Page 15: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/15.jpg)
WSOD (White Screen Of Death)"Invisible" Errors or Blank Pages, how to
fix:
SELECT * FROM watchdog LIMIT 20;Easy manual quick-fixing
rename couple of modules step-by-step
Dtools bench_chart.module, wsod_emergency.php, wsod.module
Increase CPU limit on hosting server With low level (3-5%) some heavy pages will be “blank”
![Page 16: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/16.jpg)
Another silly mistakesWhitespace at the Begin and End of a PHP
File See more about <? and <?php in short_open_tag “php
configuration option” information God, bless IDEs, which remove trailing whitespace. Or you
should take care with your coding
“You are not authorized to access this page” browser multi tab access block settings changes admin/build/themes on slow hosting
To fix this issue: call drupal_flush_all_caches(); anywhere
![Page 17: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/17.jpg)
Disabling ModulesVia the Module Administration Page in the UIAdminister > Site Building > Modules … Uncheck and Save
Via the DatabaseIf your WSOD is caused by a specific module and you cannot
access the module admin page, go to system table, set status to 0 and then clear the cache table
![Page 18: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/18.jpg)
You should have cronThere are many ways to configure cron (curl, lynx, wget,
even GET), but …
Here is real “drupal” way:
Change file permission for scripts/drupal.sh (chmod a+x scripts/drupal.sh)
Use in crontab file (or in Hosting Control Panel) this command:/home/account/www/scripts/drupal.sh --root /home/account/www
http://default/cron.php
PS. Cron is used by many modules: Update, Event, Aggregator, Search, Notifications, Send, Image watermark, Watchdog and other which must run time-related tasks.
![Page 19: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/19.jpg)
Suggestions Before DeploymentBe afraid free hosting with additional ads admin/build/[modules|menu] doesn’t run admin/build/themes run with errors JavaScript/AJAX/XMLHttpRequest errors
These actions would be great to do before/during/after deployment:
TRUNCATE TABLE watchdog;drupal_flush_all_caches(); or “Clear Cached
Data”"Rebuild Permissions" in Post Settings page“Re-Index site”
![Page 20: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/20.jpg)
Think at first || rapid development
Masquarade moduleTransliterationDevel/Themer moduleDrush module“TEASER break” button in rich editor an
Node-SystemUse professional IDE
![Page 21: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/21.jpg)
References Drupal Deployment Checklist (!!)
http://www.metaltoad.com/blog/drupal-deployment-checklist General information about cron with Drupal
http://drupal.org/getting-started/6/install/cron Advanced Cron Modules
http://groups.drupal.org/node/17072/edit +++ http://www.drupalcron.org/ Dtools module (WSOD tablet)
http://drupal.org/project/dtools/cvs-instructions Advanced PHP Error Handling via htaccess (!!!)
http://perishablepress.com/press/2008/01/14/advanced-php-error-handling-via-htaccess/ Stupid htaccess Tricks (!!!)
http://perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/ Drupal Tweaks (helping with allocation of php memory size)
http://drupal.org/project/drupal_tweaks Drush - Drupal Shell utility
http://drupal.org/project/drush || http://groups.drupal.org/drush || http://drupal.org/node/477684
Automating Drupal Deployment with drush_make and Features (!!!) http://drupalcampaustin.org/sessions/automating-drupal-deployment-drushmake-and-features
Install with Drush (!!! – GREAT short list of command to install) http://knol.google.com/k/michael-chelen/how-to-install-drupal-using-drush/gxxp1ckx8nad/5#
![Page 22: Dc kyiv2010 jun_08](https://reader033.vdocument.in/reader033/viewer/2022051818/54b6b1cc4a7959ad7b8b4665/html5/thumbnails/22.jpg)
That’s allSend me email. I’m here [email protected]
Follow me in twitter @landike
Call me via Skype – lan_researcher
See my “media” updates on www.landike.mp
drupal user – LAN_DRUPAL