![]() |
Sidebar |
Rolling out on a clients hostDrupal requirements: * DNS hostname/ip
TimelineAs soon as the client 'ok's the project (even before development starts) you can start organising: * PRE-rollout: DNS hostname/ip
As soon as there is any kind of development site * PRE-rollout: test rollouts Then: * PRE-rollout: dev site is working?
PRE-rollout: DNS hostname/ipTimetable: immediately after client agrees to contract A drupal site needs a host (with an IP address) and a site name (DNS entry). Tickoff:
PRE-rollout: EmailTimetable: immediately after client agrees to contract Drupal needs to send email notifications. You want to avoid issues covered in [Email_Bounce_Issues]] There might be issues with the DNS MX records too. This might also include playing with the drupal mailer module. Tickoff:
PRE-rollout: access to the serverTimetable: After client agrees to contract (way before rollout date, atleast 2-4 weeks before rollout) As the rollout approaches we need 'shell' access to the server to install the files and load the database. (This is usually done with an ssh key and probably requires some intervention by the remote site admin.) (It can be done via ftp, but it is like trying to operate a puppet in boxing gloves.) Tickoff:
PRE-rollout: mysqlTimetable: After client agrees to contract (way before rollout date, atleast 2-4 weeks before rollout) Drupal stores it's nodes in mysql, so we need to load the site into the msysql database. To do this we need the remote site admin to create a database in mysql. Note: we dont need remote mysql access (no phpmyadmin or remote ports), we do it all via the shell access. Tickoff:
PRE-rollout: apache accessTimetable: After client agrees to contract (way before rollout date, atleast 2-4 weeks before rollout) Apache serves drupal's php out from its directories. So we need apache configured for the site to serve our from a directory on the host. We need access to that directory to install the drupal files into. Tickoff:
PRE-rollout: system tweaksTimetable: atleast 2-4 weeks before rollout XXX: Patch php.ini for more memory. XXX: Patch my.php memory limits. Tickoff:
PRE-rollout: setup a dev siteTimetable: As soon as the client says 'make me a site'! Tickoff:
PRE-rollout: test rolloutTimetable: As soon as there is any kind of dev site, way before rollout time. Build a rollout plan from doing a test rollout and documenting the process. Rough steps to migrate the site:
NOTE: This is a test rollout, everything can be nuked as it will be overwritten when the site is finally rolled out. We should have a process to take the dev site and clone it over to the live site. Tickoff:
PRE-rollout: dev site is working?Timetable: before test rollout Is the dev site done? Dont roll out before the dev site is done. Tickoff:
PRE-rollout: test rolloutTimetable: 1 week before rollout We should already have done a couple of test rollouts, so we should have an idea of how the process will go. NOTE: This is a test rollout, everything can be nuked as it will be overwritten when the site is finally rolled out. With the test rollout working, everyone should test the site and see that everything works as expected. This is a finfal Tickoff:
Actual rolloutAt this stage:
So we run through the plan that we developed in the test migration. Notesmysql setup detailsThis is for our own reference.... We create it with:
# Create the database....
echo "creating $SITE_MYSQL_DATABASE"
cat << CREATEDB_INSTRUCTIONS | mysql
CREATE DATABASE $SITE_MYSQL_DATABASE;
ALTER DATABASE $SITE_MYSQL_DATABASE DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
FLUSH PRIVILEGES;
quit
CREATEDB_INSTRUCTIONS
/usr/bin/mysqladmin -u root reload
# TO allow user access to the database (sets the default password to munkies)
cat << CREATEDB_INSTRUCTIONS | mysql
use mysql;
GRANT ALL PRIVILEGES ON $SITE_MYSQL_DATABASE.* TO '$SITE_MYSQL_DATABASE'@'localhost' IDENTIFIED BY "munkies";
FLUSH PRIVILEGES;
quit
CREATEDB_INSTRUCTIONS
# TO set the password to a human string ($PASSWORD) then do...
cat << CREATEDB_INSTRUCTIONS | mysql
use mysql;
update user set password=PASSWORD("$PASSWORD") where User="$SITE_MYSQL_DATABASE";
FLUSH PRIVILEGES;
quit
CREATEDB_INSTRUCTIONS
Contributors to this page: Pierre Doleans
.
|
![]() |
|||
|
This content is licensed under the Creative Commons Attribution 3.0 Unported License sponsored by Collabforge and powered by Tiki Wiki
|
||||||