Difference between revisions of "User talk:Mmccarn"

From SME Server
Jump to navigationJump to search
(wikify)
(eliminate level 6 headlines...)
Line 1: Line 1:
===Install mariadb 'alongside' mysql===
+
==Install mariadb 'alongside' mysql==
====Draft notes on mariadb installation====
+
===Draft notes on mariadb installation===
 
  <nowiki>
 
  <nowiki>
 
#####################################################################################
 
#####################################################################################
Line 60: Line 60:
 
</nowiki>
 
</nowiki>
  
====Backup & Restore====
+
===Backup & Restore===
 
* (RequestedDeletion) Nice notes. Would it be worth it to look at the pre-backup and pre-restore events (And config db settings) so MariaDB databases are being backup up ?
 
* (RequestedDeletion) Nice notes. Would it be worth it to look at the pre-backup and pre-restore events (And config db settings) so MariaDB databases are being backup up ?
=====/etc/e-smith/events/actions/mariadb-dump-tables=====
+
====/etc/e-smith/events/actions/mariadb-dump-tables====
 
* Based on /etc/e-smith/events/actions/mysql-dump-tables
 
* Based on /etc/e-smith/events/actions/mysql-dump-tables
 
* "CONNECT" options separated out for easy modification and potential movement into db variables
 
* "CONNECT" options separated out for easy modification and potential movement into db variables
Line 81: Line 81:
 
     mysqldump $CONNECT  -x --add-drop-table  -QB "$db" -r /home/e-smith/db/mariadb/"$db".dump  || exit 1
 
     mysqldump $CONNECT  -x --add-drop-table  -QB "$db" -r /home/e-smith/db/mariadb/"$db".dump  || exit 1
 
done</nowiki>
 
done</nowiki>
=====/etc/e-smith/events/actions/mariadb-load-tables=====
+
====/etc/e-smith/events/actions/mariadb-load-tables====
 
* based on /etc/e-smith/events/actions/mysql-load-tables
 
* based on /etc/e-smith/events/actions/mysql-load-tables
 
* doesn't actually load the dbs
 
* doesn't actually load the dbs
Line 104: Line 104:
 
     done
 
     done
 
fi</nowiki>
 
fi</nowiki>
=====Automation=====
+
====Automation====
======Backup======
+
=====Backup=====
 
* Link mariadb-dump-tables into the pre-backup event
 
* Link mariadb-dump-tables into the pre-backup event
 
* Dumped tables should be included in backups as they are stored under /home/e-smith
 
* Dumped tables should be included in backups as they are stored under /home/e-smith
 
  <nowiki>cd /etc/e-smith/events/pre-backup
 
  <nowiki>cd /etc/e-smith/events/pre-backup
 
ln -s ../actions/mariadb-dump-tables S20mariadb-dump-tables</nowiki>
 
ln -s ../actions/mariadb-dump-tables S20mariadb-dump-tables</nowiki>
======Restore - NEEDS WORK======
+
=====Restore - NEEDS WORK=====
 
The SME Server mysql restore is complicated by various factors that may not apply to a mariadb "alongside" installation.
 
The SME Server mysql restore is complicated by various factors that may not apply to a mariadb "alongside" installation.
 
Here's what would need to be done to restore all mariadb databases:
 
Here's what would need to be done to restore all mariadb databases:
Line 119: Line 119:
 
mysql $CONNECT < <dbname>.dump</nowiki>
 
mysql $CONNECT < <dbname>.dump</nowiki>
 
   
 
   
===Install Moodle 2.6 using git===
+
==Install Moodle 2.6 using git==
====Requirements====
+
===Requirements===
 
* Recommended minimum browser: recent Google Chrome, recent Mozilla Firefox, Safari 6, Internet Explorer 9 (IE 10 required for drag and drop of files from outside the browser into Moodle)
 
* Recommended minimum browser: recent Google Chrome, recent Mozilla Firefox, Safari 6, Internet Explorer 9 (IE 10 required for drag and drop of files from outside the browser into Moodle)
 
* Moodle upgrade: Moodle 2.2 or later (if upgrading from earlier versions, you must upgrade to 2.2.11 as a first step)
 
* Moodle upgrade: Moodle 2.2 or later (if upgrading from earlier versions, you must upgrade to 2.2.11 as a first step)
Line 127: Line 127:
 
* New recommended PHP extensions: <span style="color:green">zlib</span>, <span style="color:red;">OPcache</span>
 
* New recommended PHP extensions: <span style="color:green">zlib</span>, <span style="color:red;">OPcache</span>
  
=====DB Version=====
+
====DB Version====
 
SME Server 8.x comes with MySQL v5.0.95.  In order to install Moodle without risking destabilizing a SME server by changing the MySQL version, you can install MariaDB 5.3.54 ''alongside'' MySql.
 
SME Server 8.x comes with MySQL v5.0.95.  In order to install Moodle without risking destabilizing a SME server by changing the MySQL version, you can install MariaDB 5.3.54 ''alongside'' MySql.
  
=====OPcache=====
+
====OPcache====
 
Zend OPcache is built-in to PHP 5.5, and can be compiled to work with PHP 5.3.3.   
 
Zend OPcache is built-in to PHP 5.5, and can be compiled to work with PHP 5.3.3.   
  
Line 137: Line 137:
 
I believe this will make Moodle run more slowly than it would *with* OPcache.
 
I believe this will make Moodle run more slowly than it would *with* OPcache.
  
====Installation====
+
===Installation===
=====Prepare your server=====
+
====Prepare your server====
 
======Install useful php modules======
 
======Install useful php modules======
 
* During installation, Moodle will request php-soap, php-xmlrpc and php-intl.  These are all available from the 'smeaddons' repository, and can be installed using:
 
* During installation, Moodle will request php-soap, php-xmlrpc and php-intl.  These are all available from the 'smeaddons' repository, and can be installed using:
 
  yum install php-soap php-xmlrpc php-intl
 
  yum install php-soap php-xmlrpc php-intl
  
======Create an ibay======
+
=====Create an ibay=====
 
* Create an ibay named 'moodle' in server-manager
 
* Create an ibay named 'moodle' in server-manager
 
* Customize some of the settings on the new moodle ibay
 
* Customize some of the settings on the new moodle ibay
Line 161: Line 161:
 
#</nowiki>
 
#</nowiki>
  
======Create a database======
+
=====Create a database=====
 
* Install Mariadb ''alongside'' mysql
 
* Install Mariadb ''alongside'' mysql
 
* create a mariadb database for moodle
 
* create a mariadb database for moodle
Line 182: Line 182:
 
quit"</nowiki>
 
quit"</nowiki>
  
=====Install Moodle=====
+
====Install Moodle====
======Download & Checkout using git======
+
=====Download & Checkout using git=====
 
  <nowiki>
 
  <nowiki>
 
     #
 
     #
Line 201: Line 201:
 
signal-event ibay-modify $IBAY
 
signal-event ibay-modify $IBAY
 
</nowiki>
 
</nowiki>
======Run the installer======
+
 
 +
=====Run the installer=====
 
  <nowiki>#
 
  <nowiki>#
 
# run the command line installer
 
# run the command line installer
Line 211: Line 212:
 
sudo -u www /usr/bin/php install.php
 
sudo -u www /usr/bin/php install.php
 
</nowiki>
 
</nowiki>
======Correct database settings if necessary======
+
 
 +
=====Correct database settings if necessary=====
 
If you were not prompted for database socket, port, or other connection settings during the command line setup, you will need to correct the settings manually.
 
If you were not prompted for database socket, port, or other connection settings during the command line setup, you will need to correct the settings manually.
  
Line 222: Line 224:
 
sed -i  s/dbpass.*/dbpass\ \ \ \ \=\ \'$DBPASS\'\;/  /home/e-smith/files/ibays/moodle/html/config.php</nowiki>
 
sed -i  s/dbpass.*/dbpass\ \ \ \ \=\ \'$DBPASS\'\;/  /home/e-smith/files/ibays/moodle/html/config.php</nowiki>
  
===Notes on check_earlytalker===
+
==Notes on check_earlytalker==
 
Why did you remove the Request_for_deletion template on the check_earlytalker page? AFAIK it is obsolete and should be deleted according to http://forums.contribs.org/index.php/topic,46234.msg226418.html#msg226418 - <small>—&nbsp;[[User:Cactus|Cactus]] ([[User talk:Cactus|talk]]&nbsp;|&nbsp;[[Special:Contributions/Cactus|contribs]])&nbsp;</small> 07:05, 16 February 2012 (MST)
 
Why did you remove the Request_for_deletion template on the check_earlytalker page? AFAIK it is obsolete and should be deleted according to http://forums.contribs.org/index.php/topic,46234.msg226418.html#msg226418 - <small>—&nbsp;[[User:Cactus|Cactus]] ([[User talk:Cactus|talk]]&nbsp;|&nbsp;[[Special:Contributions/Cactus|contribs]])&nbsp;</small> 07:05, 16 February 2012 (MST)
  

Revision as of 19:17, 8 December 2013

Install mariadb 'alongside' mysql

Draft notes on mariadb installation

#####################################################################################
# BEGIN
#####################################################################################
# yum repos aren't useful; use the side-by-side install
# Install mariadb side-by-side with mysql on SME Server v8
# From: https://mariadb.com/kb/en/installing-mariadb-alongside-mysql/
#
# create user 'mariadb' in server-manager
#
cd ~
mkdir -p addons
cd addons
RELEASE=5.5.34
wget https://downloads.mariadb.org/interstitial/mariadb-$RELEASE/kvm-bintar-hardy-x86/mariadb-$RELEASE-linux-i686.tar.gz/from/http://mirror.jmu.edu/pub/mariadb
cd /opt
tar zxvf ~/addons/mariadb-$RELEASE-linux-i686.tar.gz
ln -s mariadb-$RELEASE-linux-i686 mariadb
mkdir mariadb-data
cp mariadb/support-files/my-medium.cnf mariadb-data/my.cnf
#
# edit my.cnf as described on the mariadb-alongside-mysql howto (link above)
chown -R mariadb:mariadb mariadb-data mariadb mariadb-$RELEASE-linux-i686
#
cp mariadb/support-files/mysql.server /etc/init.d/mariadb
chmod +x /etc/init.d/mariadb
#
# edit /etc/init.d/mariadb as described in the howto
#
cd /opt/mariadb
scripts/mysql_install_db --defaults-file=/opt/mariadb-data/my.cnf
cd /etc/init.d
chkconfig --add mariadb 
chkconfig --levels 3 mariadb on
# SME Server uses runlevel 7...
mv /etc/rc3.d/S64mariadb /etc/rc7.d
#
# customizations not mentioned in the howto:
mkdir /var/run/mariadb
chown mariadb:maridb /var/run/mariadb
#
# customize the execution line in /etc/init.d/mariadb
#
# version from howto:
#  $bindir/mysqld_safe --defaults-file=/opt/mariadb-data/my.cnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &
#
# version I'm using:
# $bindir/mysqld_safe --defaults-file=/opt/mariadb-data/my.cnf --datadir="/opt/mariadb-data" --pid-file="/var/run/mariadb/mariadb.pid" $other_args >/dev/null 2>&1 &
#
# Finally, testing access requires asking for a password, then entering an empty password (SME feeds the 'root'@'localhost' password to mysql by default:
# mysql -e "SELECT VERSION();" --port=3307 --protocol=TCP -p
#
# set root password in mariadb same as root password in mysql
mysql --port=3307 --protocol=TCP -p < /var/service/mysqld/set.password
#
# Now the example version check from the howto works:    
mysql -e "SELECT VERSION();" --socket=/opt/mariadb-data/mariadb.sock

Backup & Restore

  • (RequestedDeletion) Nice notes. Would it be worth it to look at the pre-backup and pre-restore events (And config db settings) so MariaDB databases are being backup up ?

/etc/e-smith/events/actions/mariadb-dump-tables

  • Based on /etc/e-smith/events/actions/mysql-dump-tables
  • "CONNECT" options separated out for easy modification and potential movement into db variables
  • "-x" option added to the mysqldump command line to avoid an error about locking log files
#!/bin/sh
#CONNECT=--socket=/opt/mariadb-data/mariadb.sock
CONNECT="--protocol=TCP --port=3307"

if ! $(mysqladmin $CONNECT ping >/dev/null 2>&1)
then
    echo "mariadb is not running - no tables dumped" >&2
    exit 0
fi

mkdir -p /home/e-smith/db/mariadb
for db in $(mysql $CONNECT -BNre "show databases;")
do
    mysqldump $CONNECT  -x --add-drop-table  -QB "$db" -r /home/e-smith/db/mariadb/"$db".dump  || exit 1
done

/etc/e-smith/events/actions/mariadb-load-tables

  • based on /etc/e-smith/events/actions/mysql-load-tables
  • doesn't actually load the dbs
  • NEEDS EXAMINATION!
#!/bin/sh
#CONNECT=--socket=/opt/mariadb-data/mariadb.sock
CONNECT="--protocol=TCP --port=3307"
MARIADATA=/opt/mariadb-data

if ! $(mysqladmin $CONNECT ping >/dev/null 2>&1)
then    
    echo "mariadb is not running - no tables restored" >&2
    exit 0
fi

if [ ! -f $MARIADATA/mysql/user.frm ]
then
    mkdir -p /etc/e-smith/mariadb/init
    for db in $(ls /home/e-smith/db/mariadb/*.dump 2> /dev/null | grep -v '/mysql.dump')
    do
        mv $db /etc/e-smith/mariadb/init/01_$(basename $db .dump).sql
    done
fi

Automation

Backup
  • Link mariadb-dump-tables into the pre-backup event
  • Dumped tables should be included in backups as they are stored under /home/e-smith
cd /etc/e-smith/events/pre-backup
ln -s ../actions/mariadb-dump-tables S20mariadb-dump-tables
Restore - NEEDS WORK

The SME Server mysql restore is complicated by various factors that may not apply to a mariadb "alongside" installation. Here's what would need to be done to restore all mariadb databases:

  • Reinstall mariadb, including setting the password to match the mysql root password
  • Restore the 'dump' files created during pre-backup individually using:
cd /home/e-smith/db/mariadb
CONNECT=--socket=/opt/mariadb-data/mariadb.sock
mysql $CONNECT < <dbname>.dump

Install Moodle 2.6 using git

Requirements

  • Recommended minimum browser: recent Google Chrome, recent Mozilla Firefox, Safari 6, Internet Explorer 9 (IE 10 required for drag and drop of files from outside the browser into Moodle)
  • Moodle upgrade: Moodle 2.2 or later (if upgrading from earlier versions, you must upgrade to 2.2.11 as a first step)
  • Minimum DB versions: PostgreSQL 8.3, MySQL 5.1.33, MariaDB 5.3.5, MSSQL 2005 or Oracle 10.2
  • Minimum PHP version: PHP 5.3.3 (always use latest PHP 5.4.x or 5.5.x on Windows - http://windows.php.net/download/)
  • New recommended PHP extensions: zlib, OPcache

DB Version

SME Server 8.x comes with MySQL v5.0.95. In order to install Moodle without risking destabilizing a SME server by changing the MySQL version, you can install MariaDB 5.3.54 alongside MySql.

OPcache

Zend OPcache is built-in to PHP 5.5, and can be compiled to work with PHP 5.3.3.

I have not been able to find a source online for an RPM for OPcache.

I believe this will make Moodle run more slowly than it would *with* OPcache.

Installation

Prepare your server

Install useful php modules
  • During installation, Moodle will request php-soap, php-xmlrpc and php-intl. These are all available from the 'smeaddons' repository, and can be installed using:
yum install php-soap php-xmlrpc php-intl
Create an ibay
  • Create an ibay named 'moodle' in server-manager
  • Customize some of the settings on the new moodle ibay
IBAY=moodle
/sbin/e-smith/db accounts setprop $IBAY \
FollowSymLinks enabled \
CgiBin enabled \
AllowOverride All \
Group www \
PublicAccess global \
PHPBaseDir "/home/e-smith/files/ibays/$IBAY/:/tmp/" \
UserAccess wr-group-rd-everyone
/sbin/e-smith/signal-event remoteaccess-update
#
mkdir /home/e-smith/files/ibays/$IBAY/moodledata
chown www:www /home/e-smith/files/ibays/$IBAY/moodledata
#
Create a database
  • Install Mariadb alongside mysql
  • create a mariadb database for moodle
# Generate a random 23 character password
DBPASS=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c23`
DBNAME=xmoodle
DBUSER=xmoodle
CONNECT=--socket=/opt/mariadb-data/mariadb.sock
#
echo Creating Database using: ; \
echo DBNAME=$DBNAME ;\
echo DBUSER=$DBUSER ;\
echo DBPASS=$DBPASS ;\
echo ;\
echo Save this information.  You will need it later during initial application setup! (press \<enter\> when done) ;\
read
#
mysql $CONNECT -e "create database $DBNAME; 
grant all privileges on $DBNAME.* to $DBUSER@localhost identified by \"$DBPASS\" with grant option;
quit"

Install Moodle

Download & Checkout using git
    #
    # Download moodle using git
    # http://docs.moodle.org/26/en/Git_for_Administrators#Obtaining_the_code_from_Git
    #
IBAY=moodle
cd /home/e-smith/files/ibays/$IBAY
mv html html.org
git clone git://git.moodle.org/moodle.git html
cd html
git branch -a
git branch --track MOODLE_26_STABLE origin/MOODLE_26_STABLE
git checkout MOODLE_26_STABLE
#
# correct ownership
signal-event ibay-modify $IBAY

Run the installer
#
# run the command line installer
# if prompted, set:
    # mysql port: 3307
    # mysql socket: /opt/mariadb-data/mariadb.sock
    #
cd /home/e-smith/files/ibays/$IBAY/html/admin/cli
sudo -u www /usr/bin/php install.php

Correct database settings if necessary

If you were not prompted for database socket, port, or other connection settings during the command line setup, you will need to correct the settings manually.

The database connection settings are stored in this file:

/home/e-smith/files/ibays/moodle/html/config.php

If you have just run the above database connection commands in the same putty session, you can correct your moodle settings using:

sed -i  s/dbname.*/dbname\ \ \ \ \=\ \'$DBNAME\'\;/  /home/e-smith/files/ibays/moodle/html/config.php
sed -i  s/dbuser.*/dbuser\ \ \ \ \=\ \'$DBUSER\'\;/  /home/e-smith/files/ibays/moodle/html/config.php
sed -i  s/dbpass.*/dbpass\ \ \ \ \=\ \'$DBPASS\'\;/  /home/e-smith/files/ibays/moodle/html/config.php

Notes on check_earlytalker

Why did you remove the Request_for_deletion template on the check_earlytalker page? AFAIK it is obsolete and should be deleted according to http://forums.contribs.org/index.php/topic,46234.msg226418.html#msg226418 - — Cactus (talk | contribs 07:05, 16 February 2012 (MST)

Here's my understanding of the Request_for_deletion addition to this page:

1) Piran posted a link to this page in a thread with the text "Install the check_earlytalker plugin": http://forums.contribs.org/index.php/topic,46229.msg226377.html#msg226377

2) Charlie noticed Piran's post, and assumed the wiki page described how to install check_earlytalker, so he made his post that the page is obsolete: http://forums.contribs.org/index.php/topic,46234.msg226418.html#msg226418

3) The page was updated with the 'Request_for_deletion' template

4) I added the reasoning to the 'talk' page outlining why the page is NOT obsolete (see below)

5) Over a year later, I removed the 'Request_for_deletion' template, assuming everyone had read and agreed with the reasoning I outlined on the 'talk' page.


Copied from http://wiki.contribs.org/Talk:Qpsmtpd_check_earlytalker - Unless there is more information elsewhere, I don't feel that this page is obsolete.

Despite the language used by piran in his mention of this page at http://forums.contribs.org/index.php/topic,46229.msg226377.html#msg226377, this page is not about adding check_earlytalker - which is included by default as mentioned by Charlie in the forum post referenced above.

This page is about:

   Documenting the functionality of check_earlytalker (what it does and why it does it)
   Documenting how to change the timeout value applied by check_earlytalker
   Documenting how to monitor check_earlytalker to see if it is being used to deny email