Vanilla Forums: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
'''[http://vanillaforums.org/ Vanilla Forums] are open-source, standards-compliant, customizable discussion forums.'''
'''[http://vanillaforums.org/ Vanilla Forums] are open-source, standards-compliant, customizable discussion forums.'''


==How to get access to the forum==
=Forums Deprecated=


Anyone can read the forums at http://forum.opensourceecology.org/
In 2018, the forums were no longer moderated or maintained, and the decision was made to deprecate support for the site. The content is still accessible in as static-content; new content is not possible.


However, to be able to post new discussions or to comment on existing discussions, you'll have to apply for a forum membership.
For more information, please see [[CHG-2018-02-04]]
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.
 
{{Tip|Applying for a forum membership|
# Visit the main [http://forum.opensourceecology.org/ forum page] and create your new login name by clicking on one of the login icons ('''Facebook''', '''Google''', '''OpenID''' or '''Twitter''') or by clicking on the '''Apply for Membership''' button (at right);
# You'll be asked to '''''confirm your email address''''' (the system will send you an email with a '''confirmation link that you must visit before posting''');
# Please '''check both your inbox and spam folder''', as some people have reported that the confirmation email sent by our forum was classified as spam. The message has this subject: ''"[Open Source Ecology Forums] Confirm Your Email Address"''
# '''Once you have confirmed your email address''' by visiting the confirmation link, your chosen login name will be added to the '''list of pending applicants''';
# '''Whenever a forum admin opens the list''' of applicants, he will either approve or decline your request;
# If you are approved, '''you'll receive an email to let you know'''.
}}
 
 
{{Warn|Posting for the first time|
* 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==
{{Tip|Tips for using our [http://forum.opensourceecology.org/ discussion forum]|
* Hover your mouse over '''Discussions''' ''(at the top)'' to see a clickable '''category menu'''
** A ''category'' contains discussions (a.k.a ''forum posts'') related to a given ''topic''
** You can click on '''Discussions''' itself to see a list of the latest discussions, or click on one of the categories to see discussions for that specific category
* Under section '''Discussion Views''' ''(right sidebar)'', you can change the view to see a list of '''[http://forum.opensourceecology.org/discussions latest discussions]''' or '''[http://forum.opensourceecology.org/categories/discussions latest discussions by category]'''
* Create an '''[http://vanillaforums.org/addon/636/emailsubscribe email subscription]''' to a category of your interest by clicking on '''[http://forum.opensourceecology.org/profile/subscriptions E-mail Subscriptions]'''
** By subscribing to a category, you make it work more like a '''mailing list'''
* You can vote for the most important discussions by clicking on the '''Votes''' blue box, at the right side of the discussion title
** Click it again to remove your vote, in case you have changed your mind
* To bookmark (subscribe to) a particular discussion, click on the '''Follows''' blue box, at the right side of the discussion title
** You can choose to receive '''email notifications''' when there are new comments on your '''bookmarked discussions'''
** You can see the number of people who bookmarked a discussion right under ''Follows''
* Click on your login name (top left side) to access your '''account page''' and change your preferences.
** Change your '''email notification settings''' by clicking on '''My Preferences''' on your ''account page''
}}
 
==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==
* [http://vanillaforums.org/addon/636/emailsubscribe Email Subscribe]
* Facebook
* Google Sign In
* Twitter
* Gravatar
* FileUpload
* Flagging
* ...


=CLI Guides=
=CLI Guides=

Revision as of 20:27, 4 February 2018

Vanilla Forums are open-source, standards-compliant, customizable discussion forums.

Forums Deprecated

In 2018, the forums were no longer moderated or maintained, and the decision was made to deprecate support for the site. The content is still accessible in as static-content; new content is not possible.

For more information, please see CHG-2018-02-04

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/
time nice tar -xzvf ${backupFileName_files_hetzner1}

mkdir -p ${docrootDir_hetzner2}
time nice 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

  1. OSE Server
  2. Web server configuration
  3. Forum Policy
  4. Evaluation of Vanilla Forum use for OSE - /Evaluation
  5. Vanilla Forums source code