Development Server Build Instructions
Prerequisites
It's assumed that our Ubuntu 10.04 LTS server has a local user with sudo access to both superuser and regular user accounts and that the hostname is set up correctly. Perform the following sanity checks before beginning:
xdissent@dev:~$ hostname dev.remarkablewit.com xdissent@dev:~$ hostname -s dev xdissent@dev:~$ hostname -f dev.remarkablewit.com xdissent@dev:~$ grep `hostname` /etc/hosts 127.0.1.1 dev.remarkablewit.com dev xdissent@dev:~$ sudo -u www-data whoami www-data xdissent@dev:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=10.04 DISTRIB_CODENAME=lucid DISTRIB_DESCRIPTION="Ubuntu 10.04 LTS"
Install Redmine
Note
Zend Server CE requires the apache2-mpm-prefork package, but Ubuntu uses apache2-mpm-worker as the default Apache2 threading model. Specifying the prefork variant here saves us from swapping it out later.
xdissent@dev:~$ sudo apt-get install apache2-mpm-prefork libapache2-mod-passenger mysql-server redmine-mysql redmine [sudo] password for xdissent: Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: apache2-utils apache2.2-bin apache2.2-common dbconfig-common irb1.8 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libbreakpoint-ruby1.8 libbuilder-ruby libbuilder-ruby1.8 libcmdparse2-ruby1.8 libdaemons-ruby1.8 libdbd-mysql-perl libdbd-mysql-ruby libdbd-mysql-ruby1.8 libdbi-perl libdbi-ruby1.8 libdeprecated-ruby1.8 liberb-ruby libexpat1 libjs-jquery libjs-prototype libjs-scriptaculous liblog4r-ruby1.8 libmmap-ruby1.8 libmysql-ruby1.8 libmysqlclient16 libncurses-ruby1.8 libnet-daemon-perl libopenssl-ruby1.8 libplrpc-perl librack-ruby librack-ruby1.8 libreadline-ruby1.8 libreadline5 libredcloth-ruby libredcloth-ruby1.8 libruby libruby1.8 libruby1.8-extras libsqlite3-ruby libsqlite3-ruby1.8 libxml-simple-ruby mysql-client-5.1 mysql-client-core-5.1 mysql-common mysql-server-5.1 mysql-server-core-5.1 rails rake rdoc rdoc1.8 ruby ruby1.8 rubygems rubygems1.8 Suggested packages: www-browser apache2-doc apache2-suexec apache2-suexec-custom ufw virtual-mysql-client mysql-client postgresql-client passenger-doc dbishell libdbi-ruby javascript-common tinyca mailx libapache2-mod-ruby libapache2-mod-fcgid libfcgi-ruby libfcgi-ruby1.8 graphviz libsvn-ruby librmagick-ruby libopenid-ruby thin mongrel httpd-cgi ruby1.8-examples ri1.8 ruby1.8-dev build-essential rubygems-doc Recommended packages: ssl-cert libhtml-template-perl irb libmocha-ruby zip The following NEW packages will be installed: apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common dbconfig-common irb1.8 libapache2-mod-passenger libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libbreakpoint-ruby1.8 libbuilder-ruby libbuilder-ruby1.8 libcmdparse2-ruby1.8 libdaemons-ruby1.8 libdbd-mysql-perl libdbd-mysql-ruby libdbd-mysql-ruby1.8 libdbi-perl libdbi-ruby1.8 libdeprecated-ruby1.8 liberb-ruby libexpat1 libjs-jquery libjs-prototype libjs-scriptaculous liblog4r-ruby1.8 libmmap-ruby1.8 libmysql-ruby1.8 libmysqlclient16 libncurses-ruby1.8 libnet-daemon-perl libopenssl-ruby1.8 libplrpc-perl librack-ruby librack-ruby1.8 libreadline-ruby1.8 libreadline5 libredcloth-ruby libredcloth-ruby1.8 libruby libruby1.8 libruby1.8-extras libsqlite3-ruby libsqlite3-ruby1.8 libxml-simple-ruby mysql-client-5.1 mysql-client-core-5.1 mysql-common mysql-server mysql-server-5.1 mysql-server-core-5.1 rails rake rdoc rdoc1.8 redmine redmine-mysql ruby ruby1.8 rubygems rubygems1.8 0 upgraded, 63 newly installed, 0 to remove and 0 not upgraded. Need to get 35.8MB of archives. After this operation, 128MB of additional disk space will be used. Do you want to continue [Y/n]? [...] Setting up rubygems (1.3.5-1ubuntu2) ... Setting up librack-ruby1.8 (1.1.0-3) ... Setting up libjs-jquery (1.3.3-2ubuntu1) ... Setting up librack-ruby (1.1.0-3) ... Setting up libapache2-mod-passenger (2.2.7debian-1) ... * Reloading web server config apache2 ...done. Setting up mysql-server (5.1.41-3ubuntu12) ... Processing triggers for libc-bin ... ldconfig deferred processing now taking place xdissent@dev:~$ sudo ln -s /usr/share/redmine/public /var/www/redmine xdissent@dev:~$ sudo vim /etc/apache2/sites-available/default
# /etc/apache2/sites-available/default <VirtualHost *:80> ... PassengerDefaultUser www-data RailsEnv production RailsBaseURI /redmine SetEnv X_DEBIAN_SITEID "default" Alias "/redmine/plugin_assets/" /var/cache/redmine/default/plugin_assets/ <Directory "/usr/share/redmine/public"> Order allow,deny Allow from all </Directory> </VirtualHost>
Install Gitosis and git-daemon
xdissent@dev:~$ sudo apt-get install gitosis git-daemon-run acl Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: git-core libdigest-sha1-perl liberror-perl python-pkg-resources python-setuptools python-support runit Suggested packages: git-doc git-arch git-cvs git-svn git-email git-gui gitk gitweb python-distribute python-distribute-doc runit-run socklog-run Recommended packages: patch fgetty The following NEW packages will be installed: acl git-core git-daemon-run gitosis libdigest-sha1-perl liberror-perl python-pkg-resources python-setuptools python-support runit 0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded. Need to get 6513kB of archives. After this operation, 14.8MB of additional disk space will be used. Do you want to continue [Y/n]? [...] Please read /usr/share/doc/gitosis/README.Debian for information about how to use gitosis. Processing triggers for python-support ... xdissent@dev:~$ sudo vim /etc/fstab
#/etc/fstab ... /dev/xvda / ext3 acl,noatime,errors=remount-ro 0 1 ...
xdissent@dev:~$ sudo reboot
xdissent@dev:~$ sudo -H -u gitosis ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/srv/gitosis/.ssh/id_dsa): Created directory '/srv/gitosis/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /srv/gitosis/.ssh/id_dsa. Your public key has been saved in /srv/gitosis/.ssh/id_dsa.pub. The key fingerprint is: f2:1e:28:ab:19:8b:73:d0:c3:88:b0:13:d0:ad:de:54 gitosis@dev.remarkablewit.com The key's randomart image is: +--[ DSA 1024]----+ | . . | |. . . E | |. . . | |o . . | |oB o . S | |* = . + | | o... . o | |...+ o . . | |.o+.. . | +-----------------+ xdissent@dev:~$ sudo -u gitosis cat ~gitosis/.ssh/id_dsa.pub | sudo -H -u gitosis gitosis-init Initialized empty Git repository in /srv/gitosis/repositories/gitosis-admin.git/ Reinitialized existing Git repository in /srv/gitosis/repositories/gitosis-admin.git/ xdissent@dev:~$ sudo sed -i.orig 's:/var/cache:/srv/gitosis:g' /etc/sv/git-daemon/run xdissent@dev:~$ sudo sv restart git-daemon ok: run: git-daemon: (pid 2285) 0s
Install Redmine Gitosis Plugin
xdissent@dev:~$ sudo setfacl -m user:www-data:r-x,mask:r-x ~gitosis/.ssh xdissent@dev:~$ sudo setfacl -m user:www-data:r--,mask:r-- ~gitosis/.ssh/id_dsa xdissent@dev:~$ sudo gem install inifile lockfile net-ssh Successfully installed inifile-0.3.0 Successfully installed lockfile-1.4.3 Successfully installed net-ssh-2.0.22 3 gems installed Installing ri documentation for inifile-0.3.0... Installing ri documentation for lockfile-1.4.3... Installing ri documentation for net-ssh-2.0.22... Installing RDoc documentation for inifile-0.3.0... Installing RDoc documentation for lockfile-1.4.3... Installing RDoc documentation for net-ssh-2.0.22... xdissent@dev:~$ cd /usr/share/redmine xdissent@dev:/usr/share/redmine$ sudo script/plugin install git://github.com/xdissent/redmine_gitosis.git Initialized empty Git repository in /usr/share/redmine/vendor/plugins/redmine_gitosis/.git/ remote: Counting objects: 90, done. remote: Compressing objects: 100% (51/51), done. remote: Total 90 (delta 37), reused 82 (delta 35) Unpacking objects: 100% (90/90), done. From git://github.com/xdissent/redmine_gitosis * branch HEAD -> FETCH_HEAD xdissent@dev:/usr/share/redmine$ sudo -u www-data X_DEBIAN_SITEID=default RAILS_ENV=production rake db:migrate:plugins (in /usr/share/redmine) Migrating plugin redmine_gitosis ... == CreateGitosisPublicKeys: migrating ======================================== -- create_table(:gitosis_public_keys) -> 0.2843s == CreateGitosisPublicKeys: migrated (0.2846s) =============================== xdissent@dev:/usr/share/redmine$ sudo /etc/init.d/apache2 restart
Extras
Install Zend Server CE 5.3
Download the Zend Server CE 5.3 installer (requires login). Somehow transfer that to the dev server, and extract to ~/ZendServer-RepositoryInstaller-linux or adjust paths below accordingly.
Warning
As of May 2010, Zend Server CE 5.3 has not yet been updated to explicitly support Ubuntu 10.04 LTS, and still references the Ubuntu 9.10 packages for MySQL support. These packages have been removed in Ubuntu 10.04 but may still be installed manually with very little risk. This solution was proposed in an Ubuntu forums post.
xdissent@dev:~$ wget http://mirrors.kernel.org/ubuntu/pool/universe/m/mysql-dfsg-5.0/libmysqlclient15off_5.1.30really5.0.83-0ubuntu3_i386.deb --2010-05-13 05:57:58-- http://mirrors.kernel.org/ubuntu/pool/universe/m/mysql-dfsg-5.0/libmysqlclient15off_5.1.30really5.0.83-0ubuntu3_i386.deb Resolving mirrors.kernel.org... 149.20.20.135, 204.152.191.39 Connecting to mirrors.kernel.org|149.20.20.135|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1838642 (1.8M) [text/plain] Saving to: `libmysqlclient15off_5.1.30really5.0.83-0ubuntu3_i386.deb' 100%[=================================================================>] 1,838,642 261K/s in 9.6s 2010-05-13 05:58:08 (188 KB/s) - `libmysqlclient15off_5.1.30really5.0.83-0ubuntu3_i386.deb' saved [1838642/1838642] xdissent@dev:~$ sudo dpkg -i libmysqlclient15off_5.1.30really5.0.83-0ubuntu3_i386.deb Selecting previously deselected package libmysqlclient15off. (Reading database ... 24339 files and directories currently installed.) Unpacking libmysqlclient15off (from libmysqlclient15off_5.1.30really5.0.83-0ubuntu3_i386.deb) ... Setting up libmysqlclient15off (5.1.30really5.0.83-0ubuntu3) ... Processing triggers for libc-bin ... ldconfig deferred processing now taking place xdissent@dev:~$ cd ZendServer-RepositoryInstaller-linux/ xdissent@dev:~/ZendServer-RepositoryInstaller-linux$ sudo ./install_zs.sh 5.3 ce Running this script will perform the following: * Configure your package manager to use Zend Server repository * Install Zend Server on your system using your package manager Hit ENTER to install Zend Server, or Ctrl+C to abort now. [...] The following NEW packages will be installed: help-zend-server-ce{a} libaio1{a} libapache2-mod-php-5.3-zend-server{a} libframework1-zend-server{a} libicu36{a} libkrb53{a} libmcrypt4{a} liboci-us-locales-zend{a} libpng3{a} libpq4{a} lighttpd-zend-server{a} php-5.3-bcmath-zend-server{a} php-5.3-bz2-zend-server{a} php-5.3-calendar-zend-server{a} php-5.3-common-extensions-zend-server-ce{a} php-5.3-ctype-zend-server{a} php-5.3-curl-zend-server{a} php-5.3-data-cache-zend-server{a} php-5.3-debugger-zend-server{a} php-5.3-dev-zend-server{a} php-5.3-exif-zend-server{a} php-5.3-fcgi-zend-server{a} php-5.3-fileinfo-zend-server{a} php-5.3-ftp-zend-server{a} php-5.3-gd-zend-server{a} php-5.3-gettext-zend-server{a} php-5.3-gui-zend-server{a} php-5.3-imap-zend-server{a} php-5.3-intl-zend-server{a} php-5.3-json-zend-server{a} php-5.3-ldap-zend-server{a} php-5.3-mbstring-zend-server{a} php-5.3-mcrypt-zend-server{a} php-5.3-mysql-zend-server{a} php-5.3-mysqli-zend-server{a} php-5.3-oci8-zend-server{a} php-5.3-optimizer-plus-zend-server{a} php-5.3-pdo-mysql-zend-server{a} php-5.3-pdo-oci-zend-server{a} php-5.3-pdo-pgsql-zend-server{a} php-5.3-pgsql-zend-server{a} php-5.3-phar-zend-server{a} php-5.3-posix-zend-server{a} php-5.3-soap-zend-server{a} php-5.3-sockets-zend-server{a} php-5.3-sqlite-zend-server{a} php-5.3-tidy-zend-server{a} php-5.3-tokenizer-zend-server{a} php-5.3-xmlreader-zend-server{a} php-5.3-xmlwriter-zend-server{a} php-5.3-xsl-zend-server{a} php-5.3-zem-zend-server{a} php-5.3-zend-extensions-ce{a} php-5.3-zendutils-zend-server{a} php-5.3-zip-zend-server{a} zend-base{a} zend-server-ce-php-5.3 zend-server-doc{a} zend-server-framework{a} The following packages are RECOMMENDED but will NOT be installed: sqlite 0 packages upgraded, 59 newly installed, 0 to remove and 0 not upgraded. Need to get 51.9MB of archives. After unpacking 204MB will be used. [...] Zend Server started... Processing triggers for libc-bin ... ldconfig deferred processing now taking place Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done Writing extended state information... Done Zend Server was successfully installed. xdissent@dev:~/ZendServer-RepositoryInstaller-linux$ sudo apt-get install phpmyadmin-zend-server Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libjs-mootools phpmyadmin Recommended packages: javascript-common The following NEW packages will be installed: libjs-mootools phpmyadmin phpmyadmin-zend-server 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. Need to get 4534kB of archives. After this operation, 18.5MB of additional disk space will be used. Do you want to continue [Y/n]? Get:1 http://us.archive.ubuntu.com/ubuntu/ lucid/universe libjs-mootools 1.2.4.0~debian1-1 [248kB] Get:2 http://repos.zend.com/zend-server/deb/ server/non-free phpmyadmin-zend-server 4.0.0+b10 [1198B] Get:3 http://us.archive.ubuntu.com/ubuntu/ lucid/universe phpmyadmin 4:3.3.2-1 [4285kB] Fetched 4534kB in 2s (2230kB/s) Preconfiguring packages ... Selecting previously deselected package libjs-mootools. (Reading database ... 33827 files and directories currently installed.) Unpacking libjs-mootools (from .../libjs-mootools_1.2.4.0~debian1-1_all.deb) ... Selecting previously deselected package phpmyadmin. Unpacking phpmyadmin (from .../phpmyadmin_4%3a3.3.2-1_all.deb) ... Selecting previously deselected package phpmyadmin-zend-server. Unpacking phpmyadmin-zend-server (from .../phpmyadmin-zend-server_4.0.0+b10_all.deb) ... Processing triggers for man-db ... Setting up libjs-mootools (1.2.4.0~debian1-1) ... Setting up phpmyadmin (4:3.3.2-1) ... dbconfig-common: writing config to /etc/dbconfig-common/phpmyadmin.conf Creating config file /etc/dbconfig-common/phpmyadmin.conf with new version Creating config file /etc/phpmyadmin/config-db.php with new version granting access to database phpmyadmin for phpmyadmin@localhost: success. verifying access for phpmyadmin@localhost: success. creating database phpmyadmin: success. verifying database phpmyadmin exists: success. populating database via sql... done. dbconfig-common: flushing administrative password Setting up phpmyadmin-zend-server (4.0.0+b10) ... xdissent@dev:~/ZendServer-RepositoryInstaller-linux$ sudo sed -i.orig 's:^ // \(.*AllowNoPassword\): \1:' /etc/phpmyadmin/config.inc.php xdissent@dev:~/ZendServer-RepositoryInstaller-linux$ sudo aptitude markauto libmysqlclient15off Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done Writing extended state information... Done No packages will be installed, upgraded, or removed. 0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 0B of archives. After unpacking 0B will be used. Writing extended state information... Done Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done
Patch Redmine for Underscores in Project Identifiers
Patch available here.
xdissent@dev:~$ sudo apt-get install patch Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: diffutils-doc The following NEW packages will be installed: patch 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 123kB of archives. After this operation, 254kB of additional disk space will be used. Get:1 http://us.archive.ubuntu.com/ubuntu/ lucid/main patch 2.6-2ubuntu1 [123kB] Fetched 123kB in 0s (163kB/s) Selecting previously deselected package patch. (Reading database ... 34748 files and directories currently installed.) Unpacking patch (from .../patch_2.6-2ubuntu1_i386.deb) ... Processing triggers for man-db ... Setting up patch (2.6-2ubuntu1) ... xdissent@dev:~$ wget http://dev.remarkablewit.com/redmine/attachments/download/3/redmine-project-underscore-id-patch.diff --2010-05-17 19:11:16-- http://dev.remarkablewit.com/redmine/attachments/download/3/redmine-project-underscore-id-patch.diff Resolving dev.remarkablewit.com... 173.230.129.179 Connecting to dev.remarkablewit.com|173.230.129.179|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 659 [application/octet-stream] Saving to: `redmine-project-underscore-id-patch.diff' 100%[=====================================================================================>] 659 --.-K/s in 0s 2010-05-17 19:11:16 (112 MB/s) - `redmine-project-underscore-id-patch.diff' saved [659/659] xdissent@dev:~$ cd /usr/share/redmine xdissent@dev:/usr/share/redmine$ sudo patch -p1 < ~/redmine-project-underscore-id-patch.diff patching file app/models/project.rb
diff -u -r old/project.rb new/project.rb --- old/app/models/project.rb 2010-05-13 06:51:37.000000000 +0000 +++ new/app/models/project.rb 2010-05-13 06:53:06.000000000 +0000 @@ -70,7 +70,7 @@ validates_length_of :homepage, :maximum => 255 validates_length_of :identifier, :in => 1..20 # donwcase letters, digits, dashes but not digits only - validates_format_of :identifier, :with => /^(?!\d+$)[a-z0-9\-]*$/, :if => Proc.new { |p| p.identifier_changed? } + validates_format_of :identifier, :with => /^(?!\d+$)[a-z0-9\-_]*$/, :if => Proc.new { |p| p.identifier_changed? } # reserved words validates_exclusion_of :identifier, :in => %w( new )
xdissent@dev:~$ sudo /etc/init.d/apache2 restart * Restarting web server apache2 ... waiting ...done.
Install reStructuredText Redmine Plugin
xdissent@dev:~$ cd /usr/share/redmine/ xdissent@dev:/usr/share/redmine$ sudo script/plugin install git://dev.remarkablewit.com/git/red_rest.git Initialized empty Git repository in /usr/share/redmine/vendor/plugins/red_rest/.git/ remote: Counting objects: 29, done. remote: Compressing objects: 100% (24/24), done. remote: Total 29 (delta 4), reused 18 (delta 1) Unpacking objects: 100% (29/29), done. From git://dev.remarkablewit.com/git/red_rest * branch HEAD -> FETCH_HEAD xdissent@dev:/usr/share/redmine$ sudo apt-get install python-docutils python-pygments Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: python-roman Suggested packages: texlive-latex-recommended texlive-latex-base texlive-lang-french python-chardet Recommended packages: python-imaging libpaper-utils python-lxml The following NEW packages will be installed: python-docutils python-pygments python-roman 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. [...] Processing triggers for python-support ... xdissent@dev:/usr/share/redmine$ sudo /etc/init.d/apache2 restart * Restarting web server apache2 ... waiting ...done.
Install Redmine Themes
More themes are available at the Redmine Theme List.
- Basecamp
- Pixel Cookers
- Squeejee
- Modula Mojito (slightly patched below)
- Modula Martini
Note
GitHub user ericpaulbishop has conglomerated these and other Redmine themes into a single package for easy installation. Simply download the package and copy the subdirectories containing the desired themes into /user/share/redmine/public/themes, or replace the entire themes directory with a clone of the git://github.com/ericpaulbishop/redmine_theme_pack.git repository.
xdissent@dev:~$ cd /usr/share/redmine xdissent@dev:/usr/share/redmine$ sudo mkdir -p public/themes/basecamp/stylesheets xdissent@dev:/usr/share/redmine$ cd public/themes/basecamp/stylesheets xdissent@dev:/usr/share/redmine/public/themes/basecamp/stylesheets$ sudo wget http://www.theill.com/stuff/redmine/themes/basecamp/stylesheets/application.css --2010-05-13 08:06:29-- http://www.theill.com/stuff/redmine/themes/basecamp/stylesheets/application.css Resolving www.theill.com... 195.69.129.25 Connecting to www.theill.com|195.69.129.25|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 5344 (5.2K) [text/css] Saving to: `application.css' 100%[========================================================================>] 5,344 --.-K/s in 0.1s 2010-05-13 08:06:29 (48.5 KB/s) - `application.css' saved [5344/5344] xdissent@dev:/usr/share/redmine/public/themes/basecamp/stylesheets$ cd ../.. xdissent@dev:/usr/share/redmine/public/themes$ sudo wget http://www.pixel-cookers.com/downloads/Theme+Redmine+Pixel+Cookers --2010-05-13 08:11:39-- http://www.pixel-cookers.com/downloads/Theme+Redmine+Pixel+Cookers Resolving www.pixel-cookers.com... 213.251.168.30 Connecting to www.pixel-cookers.com|213.251.168.30|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://www.pixel-cookers.com/wp-content/uploads/downloads/2010/04/pixel-cookers.zip [following] --2010-05-13 08:11:41-- http://www.pixel-cookers.com/wp-content/uploads/downloads/2010/04/pixel-cookers.zip Connecting to www.pixel-cookers.com|213.251.168.30|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 207084 (202K) [application/zip] Saving to: `pixel-cookers.zip' 100%[========================================================================>] 207,084 305K/s in 0.7s 2010-05-13 08:11:42 (305 KB/s) - `pixel-cookers.zip' saved [207084/207084] xdissent@dev:/usr/share/redmine/public/themes$ sudo unzip pixel-cookers.zip Archive: pixel-cookers.zip creating: pixel-cookers/ creating: pixel-cookers/images/ [...] inflating: pixel-cookers/images/pc-bg.png creating: pixel-cookers/stylesheets/ inflating: pixel-cookers/stylesheets/application.css xdissent@dev:/usr/share/redmine/public/themes$ sudo wget http://dev.remarkablewit.com/redmine/attachments/2/squeejee.zip --2010-05-13 08:25:10-- http://dev.remarkablewit.com/redmine/attachments/2/squeejee.zip Resolving dev.remarkablewit.com... 127.0.1.1 Connecting to dev.remarkablewit.com|127.0.1.1|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 77951 (76K) [application/zip] Saving to: `squeejee.zip' 100%[========================================================================>] 77,951 --.-K/s in 0s 2010-05-13 08:25:10 (181 MB/s) - `squeejee.zip' saved [77951/77951] xdissent@dev:/usr/share/redmine/public/themes$ sudo unzip squeejee.zip Archive: squeejee.zip creating: squeejee/ inflating: squeejee/CHANGELOG creating: __MACOSX/ creating: __MACOSX/squeejee/ [...] inflating: squeejee/VERSION inflating: __MACOSX/squeejee/._VERSION xdissent@dev:/usr/share/redmine/public/themes$ sudo wget http://www.modula.fi/downloads/ModulaMojito.zip --2010-05-13 08:44:38-- http://www.modula.fi/downloads/ModulaMojito.zip Resolving www.modula.fi... 217.149.52.5 Connecting to www.modula.fi|217.149.52.5|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 5040 (4.9K) [application/zip] Saving to: `ModulaMojito.zip' 100%[========================================================================>] 5,040 --.-K/s in 0.1s 2010-05-13 08:44:38 (38.0 KB/s) - `ModulaMojito.zip' saved [5040/5040] xdissent@dev:/usr/share/redmine/public/themes$ sudo unzip ModulaMojito.zip Archive: ModulaMojito.zip creating: Modula Mojito/ inflating: Modula Mojito/.DS_Store creating: __MACOSX/ creating: __MACOSX/Modula Mojito/ inflating: __MACOSX/Modula Mojito/._.DS_Store creating: Modula Mojito/stylesheets/ inflating: Modula Mojito/stylesheets/application.css creating: __MACOSX/Modula Mojito/stylesheets/ inflating: __MACOSX/Modula Mojito/stylesheets/._application.css inflating: __MACOSX/Modula Mojito/._stylesheets inflating: __MACOSX/._Modula Mojito xdissent@dev:/usr/share/redmine/public/themes$ sudo sed -i.orig 's/\(wiki h2.*\)border-bottom/\1border/' Modula\ Mojito/stylesheets/application.css xdissent@dev:/usr/share/redmine/public/themes$ echo "h2 img.gravatar { float: none; display: inline; }" | sudo tee -a Modula\ Mojito/stylesheets/application.css > /dev/null xdissent@dev:/usr/share/redmine/public/themes$ sudo wget http://www.modula.fi/downloads/ModulaMartini.zip --2010-05-13 08:46:15-- http://www.modula.fi/downloads/ModulaMartini.zip Resolving www.modula.fi... 217.149.52.5 Connecting to www.modula.fi|217.149.52.5|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 3118 (3.0K) [application/zip] Saving to: `ModulaMartini.zip' 100%[========================================================================>] 3,118 --.-K/s in 0.1s 2010-05-13 08:46:16 (23.5 KB/s) - `ModulaMartini.zip' saved [3118/3118] xdissent@dev:/usr/share/redmine/public/themes$ sudo unzip ModulaMartini.zip Archive: ModulaMartini.zip creating: Modula Martini/ creating: Modula Martini/stylesheets/ inflating: Modula Martini/stylesheets/application.css creating: __MACOSX/ creating: __MACOSX/Modula Martini/ creating: __MACOSX/Modula Martini/stylesheets/ inflating: __MACOSX/Modula Martini/stylesheets/._application.css xdissent@dev:/usr/share/redmine/public/themes$ sudo rm -rf __MACOSX xdissent@dev:/usr/share/redmine/public/themes$ sudo /etc/init.d/apache2 restart * Restarting web server apache2 ... waiting ...done.
Enable the userdir Apache2 Module
xdissent@dev:~$ sudo a2enmod userdir Enabling module userdir. Run '/etc/init.d/apache2 restart' to activate new configuration! xdissent@dev:~$ sudo /etc/init.d/apache2 restart * Restarting web server apache2 ... waiting ...done.