Scalr + Ubuntu 11.10 Installation
3/21/2012 03:18:00 PM
Posted by johnhomer
Environment
OS | Ubuntu Server 11.10 Oneiric Ocelot |
Scalr Ver. | scalr-2.5.r6086 |
Application Folder | /var/www/app |
Application VHost | scalr.local |
Installation
- Install required packages
apt-get install apache2-mpm-prefork php5 php5-mysql php5-curl php5-mcrypt php5-snmp php-pear rrdtool librrd-dev libcurl4-openssl-dev mysql-server snmp libssh2-php apparmor-utils
- Unpack scalr application files. This assumes that the scalr package is at /tmp folder
cd /tmp tar xvfz scalr-2.5.r6086.tar.gz mv scalr-2.5.r6086/app /var/www chown root.www-data /var/www/app -R chmod g+w /var/www/app/etc/.cryptokey chmod g+w /var/www/app/cache -R
- Before we proceed. Let's fix some code. This will resolve Bind DNS issues. Comment out the following code in /var/www/app/src/Scalr/Net/Dns/Bind/RemoteBind.php (line 36-37). The commented code should look like:
// if (count($this->zonesConfig) == 0) // throw new Exception("Zones config is empty");
- Setup MySQL
mysql -uroot -p -e 'create database scalr; grant all on scalr.* to scalr@localhost identified by "<scalrpassword>";flush privileges;' cat /tmp/scalr-2.5.r6086/sql/structure.sql | mysql -uscalr -p scalr cat /tmp/scalr-2.5.r6086/sql/data.sql | mysql -uscalr -p scalr
- Tell scalr how to connect to MySQL by modifying /var/www/app/etc/config.ini. The [db] part of that file should look similar to:
driver=mysqli host = "localhost" name = "scalr" user = "scalr" pass = "<scalrpassword>"
Note: The pass parameter should reflect the same password stated in the previous step (step 4) - Setup and enable the Apache VHost
cat <<EOF> /etc/apache2/sites-available/scalr <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName scalr.local DocumentRoot /var/www/app/www <Directory /var/www/app/www> Options Indexes FollowSymLinks MultiViews AllowOverride All </Directory> </VirtualHost> EOF a2ensite scalr
- Install additional PHP modules
pecl install rrd echo 'extension=rrd.so' > /etc/php5/apache2/conf.d/rrd.ini pecl install pecl_http echo 'extension=http.so' > /etc/php5/apache2/conf.d/http.ini a2enmod rewrite service apache2 restart
- At this point, we can now check if our environment has all the Apache and PHP modules required to run scalr. Open and point your browswer to http://scalr.local/testenvironment.php. Note that scalr.local is a local domain so make necessary changes in your own DNS resolvers or your workstations /etc/hosts.
- Cron jobs
cat <<EOF> /etc/cron.d/scalr */2 * * * * root /usr/bin/php -q /var/www/app/cron-ng/cron.php --Poller * * * * * root /usr/bin/php -q /var/www/app/cron/cron.php --Scheduler */10 * * * * root /usr/bin/php -q /var/www/app/cron/cron.php --MySQLMaintenance * * * * * root /usr/bin/php -q /var/www/app/cron/cron.php --DNSManagerPoll 17 5 * * * root /usr/bin/php -q /var/www/app/cron/cron.php --RotateLogs */2 * * * * root /usr/bin/php -q /var/www/app/cron/cron.php --EBSManager */20 * * * * root /usr/bin/php -q /var/www/app/cron/cron.php --RolesQueue */5 * * * * root /usr/bin/php -q /var/www/app/cron-ng/cron.php --DbMsrMaintenance */2 * * * * root /usr/bin/php -q /var/www/app/cron-ng/cron.php --Scaling */5 * * * * root /usr/bin/php -q /var/www/app/cron/cron.php --DBQueueEvent */2 * * * * root /usr/bin/php -q /var/www/app/cron/cron.php --SzrMessaging */4 * * * * root /usr/bin/php -q /var/www/app/cron/cron.php --RDSMaintenance */2 * * * * root /usr/bin/php -q /var/www/app/cron/cron.php --BundleTasksManager * * * * * root /usr/bin/php -q /var/www/app/cron-ng/cron.php --ScalarizrMessaging * * * * * root /usr/bin/php -q /var/www/app/cron-ng/cron.php --MessagingQueue */2 * * * * root /usr/bin/php -q /var/www/app/cron-ng/cron.php --DeployManager EOF
- Bind
apt-get install bind9 chmod g+w /etc/bind/named.conf echo 'include "/var/named/etc/namedb/client_zones/zones.include";' >> /etc/bind/named.conf mkdir -p /var/named/etc/namedb/client_zones chown root.bind /var/named/etc/namedb/client_zones chmod 2775 /var/named/etc/namedb/client_zones # New domains will go to this file echo ' ' > /var/named/etc/namedb/client_zones/zones.include chown root.bind /var/named/etc/namedb/client_zones/zones.include chmod g+w /var/named/etc/namedb/client_zones/zones.include # Put Bind in apparmor complain mode. This will allow Bind to include **zones.include** as mentioned above. May need to setup a more secure configuration aa-complain /usr/sbin/named # Restart service bind9 restart
Next Steps
- Login as Scalr Admin
http://scalr.local Email: admin Password: admin
Note: When logging in as admin, you may see an “Insufficient permissions” error message. I have no idea how to fix that, but you may ignore that error message. - Change Admin password (upper right corner of the screen)
admin->Profile
- Change Core settings
Settings->Core settings
- Create a scalr user. Then login as that user to create your first server farm
Accounts->Manage
- Create your first server farm as described in the Getting Started Guide
This entry was posted on October 4, 2009 at 12:14 pm, and is filed under
AWS,
cloud,
linux
. Follow any responses to this post through RSS. You can leave a response, or trackback from your own site.
Subscribe to:
Post Comments (Atom)
Post a Comment