Vanilla Forums
Vanilla Forums are open-source, standards-compliant, customizable discussion forums.
How to get access to the forum
Anyone can read the forums at http://forum.opensourceecology.org/
However, to be able to post new discussions or to comment on existing discussions, you'll have to apply for a forum membership. I'd like to allow any user to join our forum without the need for manual approval, but this would turn this forum into a paradise for spammers, and would require more time from us to remove spam messages and delete the corresponding user accounts.
![]() | Applying for a forum membership
|
- You can only post after your forum membership has been manually approved by a forum admin (see green box above)
- If you try to log in before being approved, you'll receive an error message similar to "Permission denied"
Usually, all forum applicants are approved, except those whose email looks suspicious (me@test.com, skseopclwq@yeah.net) and those with a suspicious membership request text. By that, I mean:
- empty text
- sentences that do not make sense, like "And she navigation boldly arrested. Furniture frequently slow night."
- messages asking me to buy "purple moncler vest", "green ski jacket", "cheap viagra", "cialis", and so on
- canned messages (those that look like they were copy/pasted from a collection)
In essence, all applicants are approved except those who look like a spam bot or a spammer, according to the admin's intuition.
Tips
![]() | Tips for using our discussion forum
|
Email Notifications
You can receive email notifications when:
- There's a new discussion or comment on any of the categories you have subscribed to
- people comment on your bookmarked discussions.
- people mention you in comments (by using (@login)
- people mention you in discussion titles (by using @login)
- people write on your wall.
- people reply to your wall comments.
- someone sends you a private message.
- you are added to private conversations.
- people comment on your discussions.
Plugins we use
- Email Subscribe
- Google Sign In
- Gravatar
- FileUpload
- Flagging
- ...
CLI Guides
This section will provide commands to achieve certain actions for managing Vanilla Forums
migrate site from hetzner1 to hetzner2
this process was used to migrate the forum from hetzner1 (shared hosting) to hetzner2 (dedicated server)
############################# # run on hetzner1 (osemain) # ############################# # STEP 0: CREATE BACKUPS source /usr/home/osemain/backups/backup.settings /usr/home/osemain/backups/backup.sh # when finished, SSH into the dreamhost server to verify that the whole system backup was successful before proceeding bash -c 'source /usr/home/osemain/backups/backup.settings; ssh $RSYNC_USER@$RSYNC_HOST du -sh backups/hetzner1/*' ############################### # run on hetzner1 (oseforum) # ############################### # DECLARE VARIABLES stamp=`date +%Y%m%d` backupDir_hetzner1="/usr/home/oseforum/tmp/backups_for_migration_to_hetzner2/oseforum_${stamp}" backupFileName_db_hetzner1="mysqldump_oseforum.${stamp}.sql.bz2" backupFileName_files_hetzner1="oseforum_files.${stamp}.tar.gz" vhostDir_hetzner1='/usr/www/users/osefourm' dbName_hetzner1='ose_oseforum' dbUser_hetzner1="oseforum" dbPass_hetzner1="CHANGEME" # STEP 1: BACKUP DB mkdir -p ${backupDir_hetzner1}/{current,old} pushd ${backupDir_hetzner1}/current/ mv ${backupDir_hetzner1}/current/* ${backupDir_hetzner1}/old/ time nice mysqldump -u"${dbUser_hetzner1}" -p"${dbPass_hetzner1}" --all-databases | bzip2 -c > ${backupDir_hetzner1}/current/${backupFileName_db_hetzner1} # STEP 2: BACKUP FILES time nice tar -czvf ${backupDir_hetzner1}/current/${backupFileName_files_hetzner1} ${vhostDir_hetzner1} #################### # run on hetzner2 # #################### sudo su - # STEP 0: CREATE BACKUPS # for good measure, trigger a backup of the entire system's database & files: time /bin/nice /root/backups/backup.sh &>> /var/log/backups/backup.log # when finished, SSH into the dreamhost server to verify that the whole system backup was successful before proceeding bash -c 'source /root/backups/backup.settings; ssh $RSYNC_USER@$RSYNC_HOST du -sh backups/hetzner2/*' #################### # run on hetzner2 # #################### sudo su - # STEP 0: CREATE BACKUPS # for good measure, trigger a backup of the entire system's database & files: time /bin/nice /root/backups/backup.sh &>> /var/log/backups/backup.log # when finished, SSH into the dreamhost server to verify that the whole system backup was successful before proceeding bash -c 'source /root/backups/backup.settings; ssh $RSYNC_USER@$RSYNC_HOST du -sh backups/hetzner2/*' # DECLARE VARIABLES source /root/backups/backup.settings stamp=`date +%Y%m%d` backupDir_hetzner1="/usr/home/oseforum/tmp/backups_for_migration_to_hetzner2/oseforum_${stamp}" backupDir_hetzner2="/var/tmp/backups_for_migration_from_hetzner1/oseforum_${stamp}" backupFileName_db_hetzner1="mysqldump_oseforum.${stamp}.sql.bz2" backupFileName_files_hetzner1="oseforum_files.${stamp}.tar.gz" dbName_hetzner1='oseforum' dbName_hetzner2='oseforum_db' dbUser_hetzner2="oseforum_user" dbPass_hetzner2="CHANGEME" vhostDir_hetzner2="/var/www/html/forum.opensourceecology.org" docrootDir_hetzner2="${vhostDir_hetzner2}/htdocs" # STEP 1: COPY FROM HETZNER1 mkdir -p ${backupDir_hetzner2}/{current,old} mv ${backupDir_hetzner2}/current/* ${backupDir_hetzner2}/old/ scp -P 222 oseforum@dedi978.your-server.de:${backupDir_hetzner1}/current/* ${backupDir_hetzner2}/current/ # STEP 2: ADD DB # create backup before we start changing the sql file pushd ${backupDir_hetzner2}/current cp ${backupFileName_db_hetzner1} ${backupFileName_db_hetzner1}.orig # extract .sql.bz2 -> .sql bzip2 -dc ${backupFileName_db_hetzner1} > db.sql # verify the first 2 (non-comment) occurances of $dbName meet the naming convention of "<siteName>_db vim db.sql time nice mysql -uroot -p${mysqlPass} -sNe "DROP DATABASE IF EXISTS ${dbName_hetzner2};" time nice mysql -uroot -p${mysqlPass} -sNe "CREATE DATABASE ${dbName_hetzner2}; USE ${dbName_hetzner2};" time nice mysql -uroot -p${mysqlPass} < "db.sql" time nice mysql -uroot -p${mysqlPass} -sNe "GRANT ALL ON ${dbName_hetzner2}.* TO '${dbUser_hetzner2}'@'localhost' IDENTIFIED BY '${dbPass_hetzner2}'; FLUSH PRIVILEGES;" # STEP 3: Add vhost files mv ${vhostDir_hetzner2}/* ${backupDir_hetzner2}/old/ tar -xzvf ${backupFileName_files_hetzner1} mkdir -p ${docrootDir_hetzner2} rsync -av --progress usr/www/users/oseforum/.* ${docrootDir_hetzner2}/ pushd ${docrootDir_hetzner2} # set ['Database'] Name/User/Password vim "${docrootDir_hetzner2}/conf/config.php" # set permissions chown -R apache:apache "${vhostDir_hetzner2}" find "${vhostDir_hetzner2}" -type d -exec chmod 0750 {} \; find "${vhostDir_hetzner2}" -type f -exec chmod 0640 {} \; # TODO: find the equivalent of these content dirs for vanilla #find "${docrootDir_hetzner2}/wp-content" -type f -exec chmod 0660 {} \; #find "${docrootDir_hetzner2}/wp-content" -type d -exec chmod 0770 {} \; chown apache:apache-admins "${docrootDir_hetzner2}/conf/config.php" chmod 0440 "${docrootDir_hetzner2}/conf/config.php"
See Also
- OSE Server
- Web server configuration
- Forum Policy
- Evaluation of Vanilla Forum use for OSE - /Evaluation
- Vanilla Forums source code