Dobrica Pavlinušić's random unstructured stuff
SocialText Open Wiki Install: Revision 29
Here are some quick notes about installation on clean Debian etch machine
{toc: } ^ Helper packages .pre sudo apt-get install wv xpdf-utils unrtf unzip sudo cpan MP3::Tag .pre ^ Install source .pre svn co https://repo.socialtext.net:8999/svn/socialtext/branches/osr osr cd osr/nlw ./configure --hostname saturn.ffzg.hr --server-admin admin@saturn.ffzg.hr \ --support-address support@saturn.ffzg.hr --force-ssl-login 1 make sudo bash make install update-rc.d -f apache-perl remove update-rc.d st-apache defaults update-rc.d ceqlotron defaults /etc/init.d/st-apache start /etc/init.d/ceqlotron start .pre ^ Update existing checkout .pre cd osr svn update cd nlw ./configure --hostname saturn.ffzg.hr --server-admin admin@saturn.ffzg.hr \ --support-address support@saturn.ffzg.hr --force-ssl-login 1 make make test sudo make install sudo /etc/init.d/st-apache stop sudo /etc/init.d/ceqlotron restart sudo /etc/init.d/st-apache start .pre ^ Add new admin user .pre sudo -u www-data st-admin create-user --email dpavlin@rot13.org --password wikidream \ --first-name Dobrica --last-name Pavlinusic sudo -u www-data st-admin add-workspace-admin --email dpavlin@rot13.org .pre ^ Configuring mailer ^^ postfix Install and configure postfix for mail delivery .pre apt-get install postfix vi /etc/postfix/main .pre Important lines are following: .pre alias_maps = hash:/etc/aliases, hash:/etc/aliases.deliver alias_database = hash:/etc/aliases, hash:/etc/aliases.deliver .pre They add `/etc/aliases.deliver` (which SocialText generates with names of wiki workspaces) to configuration. Next, we need to create `/etc/aliases.deliver.db` which is binary version of database needed for postfix. It's a bit tricky (and looks awfully wrong), but here it goes: .pre chmod 1777 /etc postalias /etc/aliases.deliver chmod 644 /etc .pre Now restart postfix as `root` user .pre /etc/init.d/postfix restart .pre ^^ crontab Add following to `/etc/crontab` to refresh aliases database for postfix regularly: .pre */10 * * * * root postalias /etc/aliases.deliver .pre ^ Handling e-mail errors .pre sudo tail /var/log/mail.log | grep st-admin .pre > dsn=5.3.0, status=bounced (Command died with status 13: "/usr/local/bin/st-admin deliver-email --workspace bio". Command output: open nlw-stats.log: Permission denied at /usr/local/share/perl/5.8.8/Socialtext/Statistics.pm line 103. END failed--call queue aborted. ) This problem is reported on socialtext-devel list, but no response so far. .pre # sudo vi +24 /usr/local/share/perl/5.8.8/Socialtext/Statistics.pm Readonly my $LOG_NAME => 'nlw-stats.log'; Readonly my $LOG_PATH => $ENV{APACHE_LOG_DIR} ? "$ENV{APACHE_LOG_DIR}/$LOG_NAME" : "/tmp/$LOG_NAME"; .pre ^ Customize template Remove "Did you know?" box from dashboard .pre sudo vi /usr/share/nlw/template/view/homepage .pre ^ Fix RSS feed errors If you are using `{getchrss http://blog.rot13.org/index.xml}` and having problems with RSS feeds, try to re-installing two perl modules: .pre sudo cpan XML::RSS XML::Atom .pre ^ New skin (CSS design) creation .pre cd /usr/share/nlw/css/ cp -r st rot13 st-admin set-workspace-config --workspace rot13 skin_name rot13 vi rot13/screen.css .pre ^ Change e-mail address of workspace This configuration change will feed responses to e-mails generated by wiki back into wiki. You might not want to do that! :-) .pre st-admin set-workspace-config --workspace rot13 \ email_notification_from_address '"random unstructured stuff" <rot13@wiki.rot13.org>' .pre ^ Access simple version of page Every SocialText wiki has a lite version available at http://wiki.example.com/lite/page/:workspace/ For this wiki it's http://saturn.ffzg.hr/lite/page/rot13 ^ Keep local changes in SVN It's important to save local modifications, because next `make install` *will overwrite* your changes in `/usr/share/nlw`. One possibility is to do overlay svn checout over `/usr/share/nlw` and than `svn add` and `svn commit` every change: .pre cd /usr/share svn co file:///data/st-custom/share nlw.svn cd nlw.svn find . | cpio -pdu ../nlw/ rm -Rf nlw.svn cd nlw svn info .pre ^ Update to trunk version It seems that new subversion trunk available at https://repo.socialtext.net:8999/svn/socialtext/trunk/ has problem with upgrade of database. If you get message like this: .pre ALTER TABLE "UserWorkspaceRole" ADD CONSTRAINT fk_2d35adae0767c6ef9bd03ed923bd2380 FOREIGN KEY ( "user_id" ) REFERENCES "UserId" ("system_unique_id") ON DELETE CASCADE DBD::Pg::st execute failed: ERROR: insert or update on table "UserEmailConfirmation" violates foreign key constraint "fk_777ad60e2bff785f8ff5ece0f3fc95c8" DETAIL: Key (user_id)=(6) is not present in table "UserId". SQL: ALTER TABLE "UserEmailConfirmation" ADD CONSTRAINT fk_777ad60e2bff785f8ff5ece0f3fc95c8 FOREIGN KEY ( "user_id" ) REFERENCES "UserId" ("system_unique_id") ON DELETE CASCADE Trace begun at /usr/local/share/perl/5.8.8/Alzabo/Driver.pm line 234 Alzabo::Driver::_prepare_and_execute(undef, 'sql', 'ALTER TABLE "UserEmailConfirmation" ADD CONSTRAINT fk_777ad60e2bff785f8ff5ece0f3fc95c8 FOREIGN KEY ( "user_id" ) REFERENCES "UserId" ("system_unique_id") ON DELETE CASCADE') called at /usr/local/share/perl/5.8.8/Alzabo/Driver.pm line 249 Alzabo::Driver::do('Alzabo::Driver::PostgreSQL=HASH(0x8ae5074)', 'sql', 'ALTER TABLE "UserEmailConfirmation" ADD CONSTRAINT fk_777ad60e2bff785f8ff5ece0f3fc95c8 FOREIGN KEY ( "user_id" ) REFERENCES "UserId" ("system_unique_id") ON DELETE CASCADE') called at /usr/local/share/perl/5.8.8/Alzabo/Create/Schema.pm line 833 Alzabo::Create::Schema::sync_backend('Alzabo::Create::Schema=HASH(0x8ae4ff0)', 'password', undef, 'user', 'nlw', 'schema_name', 'NLW', 'port', undef, 'host', '') called at bin/st-db line 140 main::sync('Alzabo::Create::Schema=HASH(0x8ae4ff0)') called at bin/st-db line 67 main::__ANON__ at bin/st-db line 95 eval {...} at bin/st-db line 95 main::_repeat_ignoring_other_access('CODE(0x8ccac00)') called at bin/st-db line 67 make: *** [schema] Error 255 .pre You will need to do manual update using following procedure: .pre sudo -u postgres dropdb NLW sudo -u postgres createdb --owner nlw --encoding UTF8 NLW sudo -u postgres psql NLW nlw < /tmp/NLW-dump.1175010986.sql sudo -u postgres psql NLW nlw < socialtext/nlw/share/migrations/1-auth-refactor/migration.sql .pre Now, re-run `make install` |