DocumentsDate added
This can be usefull to avoid publishing a possible sensitive information for hackers.
htaccess that add security on some joomla directory to forbid the access or excluding the execution of PHP files.
Installation
@font-face { font-family: Cambria Math; } @font-face { font-family: Calibri; } @page WordSection1 {size: 612.0pt 792.0pt; margin: 70.85pt 70.85pt 70.85pt 70.85pt; } P.MsoNormal { MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman","serif"; FONT-SIZE: 12pt } LI.MsoNormal { MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman","serif"; FONT-SIZE: 12pt } DIV.MsoNormal { MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman","serif"; FONT-SIZE: 12pt } A:link { COLOR: #0563c1; TEXT-DECORATION: underline; mso-style-priority: 99 } SPAN.MsoHyperlink { COLOR: #0563c1; TEXT-DECORATION: underline; mso-style-priority: 99 } A:visited { COLOR: #954f72; TEXT-DECORATION: underline; mso-style-priority: 99 } SPAN.MsoHyperlinkFollowed { COLOR: #954f72; TEXT-DECORATION: underline; mso-style-priority: 99 } SPAN.EmailStyle17 { FONT-FAMILY: "Calibri","sans-serif"; COLOR: #1f497d; mso-style-type: personal-reply } .MsoChpDefault { FONT-SIZE: 10pt; mso-style-type: export-only } DIV.WordSection1 { page: WordSection1 }
- cache (interdiction d'exécuter un PHP)
- images (interdiction d'exécuter un PHP)
- logs (interdiction d'accéder au répertoire)
- media (interdiction d'exécuter un PHP)
- tmp (interdiction d'accéder au répertoire)
Concept
The "weekly backup script" is a shell script that can be used in a cron of you hosting environment in aim to perform the backup of a DB and the backup of a directory on the disk.
This script save the backup in a subdirectory "weekly" followed by a subdirectory with the name of the day.
So that you have maximum 7 subdirectories (one for each day of the week).
Installation
- Download the "backup_weekly.sh"
- Transfert the "backup_weekly.sh" script by FTP or other tool on your server.
We suggest that you create a "backup" directory on your server and that you put the script in this directory.
The result of the backup will be stored in directory like
backup/weekly/Monday/BackupName.tgz
backup/weekly/Tuesday/BackupName.tgz
backup/weekly/Wednesday/BackupName.tgz
backup/weekly/Thirsday/BackupName.tgz
backup/weekly/Friday/BackupName.tgz
backup/weekly/Saturday/BackupName.tgz
backup/weekly/Sunday/BackupName.tgz - With a chmod, change the permission of the file to add the "execute" attribute
Syntax
The backup shell script contain several parameters:
Mandatory parameters
- $1 = backup name.
This will create a subdirectory with this name in the weekly/Day/[backup name] - $2 = Joomla PHP Code directory to backup
- $3 = DB name
- $4 = DB user
- $5 = DB password
- $6 = FTP URL
- $7 = FTP User
- $8 = FTP Psw
- $9 = FTP remote directory where to save the file.
A weekly subdirectory with the day name is automatically created in the remote directory specified.
The parameters are divided in 2 categories.
The first parameters allows specifying the DB parameters and the directory that must be backup.
Sample syntax
The following syntax assume that you are in the directory where you have copied the "backup_weekly.sh" and that you are logged on your server with SSH.
- backup_weekly.sh test /home/CPANEL_ACCOUNT/domains/jms2win.com/subdomains/master/public_html dbname dbuser "DB-Password" ftp.yourdomain.com ftpuser ftppassword /backup/
This execute a backup that will be named "test" and for which the result is send by FTP into an FTP root directory '/backup/'
The result will be stored in "/backup/weekly/DAY/test.tgz"
- backup_weekly.sh test /home/CPANEL_ACCOUNT/domains/jms2win.com/subdomains/master/public_html dbname dbuser "DB-Password" ftp.yourdomain.com ftpuser ftppassword
Same as the previous case but the FTP Root directory is empty. So it is assume that it is sent in the home directory of the FTP account.
The result will be stored in "/weekly/DAY/test.tgz"
- backup_weekly.sh test /home/CPANEL_ACCOUNT/domains/jms2win.com/subdomains/master/public_html dbname dbuser "DB-Password"
Backup without FTP transfert.
The backup remain in the local directory as follow "weekly/DAY/test.tgz"
Limitations
- It is assumed that the DB is located in the "localhost".
If you want to perform backup from DB that are located on another server, you will have to modify the "mysqldump" - The DB backup is performed with NO table locking and also ignore the SQL error that would stop the script.
If you want to perform a backup with "table locked", remove the "--lock-tables=false" command in the mysqldump - We recommand to avoid using special characters in the FTP password.
If you have special character, perhaps you should change the syntax of the LFTP to autorise that.
We have considered that a specific FTP user and FTP password would be used to transfert the backup on another server. - Avoid using a $ (dollar) character in the DB password.
The $ is generally used in the shell script to identify variable.
remark:
The FTP transfert use a "lftp" command.
If this LFTP is not installed on your server, you can use a "yum install lftp".
In case where you have an error on Perl library dependencies error, see also the following article that may help you.
https://forums.cpanel.net/f34/missing-dependency-lftp-install-242641.html
Concept
The "weekly backup script (All DBs)" is composed of 2 shell script.
A first one that is called by the cront
A second one that perform the operation.
For the customization, you need to update the "cron" one and potentially the email notification present in the second shell.
This script save the backup in a subdirectory "weekly" followed by a subdirectory with the name of the day.
So that you have maximum 7 subdirectories (one for each day of the week).
Installation
- Download the "backup_alldbs.zip"
- Unzip the files into a directory present on your server and that can be called by cron
We suggest that you create a "backup/cpanel" directory on your server and that you put the script in this directory.
The result of the backup will be stored in directory like
backup/weekly/Monday/BackupName.tgz
backup/weekly/Tuesday/BackupName.tgz
backup/weekly/Wednesday/BackupName.tgz
backup/weekly/Thirsday/BackupName.tgz
backup/weekly/Friday/BackupName.tgz
backup/weekly/Saturday/BackupName.tgz
backup/weekly/Sunday/BackupName.tgz - With a chmod, change the permission of the file to add the "execute" attribute
Syntax
Most of the parameters are defined in the "backup_alldbs_cron.sh".
This script can do a lot:
- It is possible to send the backup on 1 or 2 FTP account outside the server
- It is also possible to encrypt the compressed file when the FTP is sent on server that you do not control.
- It is possible to send an email notification when the backup is completed.
Limitations
- It is assumed that the DB is located in the "localhost".
If you want to perform backup from DB that are located on another server, you will have to modify the "mysqldump" - The DB backup is performed with NO table locking and also ignore the SQL error that would stop the script.
If you want to perform a backup with "table locked", remove the "--lock-tables=false" command in the mysqldump - We recommand to avoid using special characters in the FTP password.
If you have special character, perhaps you should change the syntax of the LFTP to autorise that.
We have considered that a specific FTP user and FTP password would be used to transfert the backup on another server. - Avoid using a $ (dollar) character in the DB password.
The $ is generally used in the shell script to identify variable.
remark:
The FTP transfert use a "lftp" command.
If this LFTP is not installed on your server, you can use a "yum install lftp".
In case where you have an error on Perl library dependencies error, see also the following article that may help you.
https://forums.cpanel.net/f34/missing-dependency-lftp-install-242641.html
See also the other weekly backup script for single website.
Multi Sites Google Analytics is a free module for Joomla 1.5, 1.6, 1.7, 2.5 and 3.x that allows you add into your website the Google Analystics script code.
With this joomla module, you can assign different Google Analytics Tracker Identifier (UA-0000000-0) to different domain name. You can also assign a default identifier that will be used any domain name.
This Joomla Module is very suitable when you host multiple domain name to the same Joomla website.
This module is also works with Joomla Multi Sites.
You can also select the kind of Google Analytics script type and also the location where you want to insert the script into the page.
Sample of configuration:
- www.domain1.com=UA-0000000-1
- www.domain2.com=UA-0000000-2
- =UA-0000000-3 <--- Default
- UA-0000000-3 <--- Default
Visit also the Joomla Multi Sites component that allows sharing the same joomla installation with different configuration per domain. For each domain name (host), joomla multi sites select a configuration file where it can found the corresponding database connection. This allow separate the content of each website and use the same joomla installation for multiple sites.
Version 1.0.1
Use the new Google Analytics Script
Version 1.0.2
Add compatibility with Joomla 1.6
Version 1.1.0
Add the posasibility to select the tracking type anlso the d possibility to add the code in the head section
Version 1.1.1
Add compatibility with Joomla 3.x