SME Site Maker

From SME Server
Jump to navigationJump to search
Important.png Note:
Please feel free to modify or add info to this HowTo, and make corrections in typos, because I don't speak English very good. Also to script, you can fix some typos and beautify the code.



Purpose

This script is designed to help you when create a new web site under /opt directory. If you want to create a site under an ibay, do not use this script. The main purpose is to automate the time consuming (and sometimes confusing) process of installing an application to the /opt directory. If you do not use SMESiteMaker you must create the dir, conf files, and DB configs manually from the command line. With SMESiteMaker, you only have to answer the questions in the wizard.

The script creates the basic environment for your site, such as directory, permissions, apache configuration, add, replace or leave databases and user, and restart the pertinent services. Of course you can edit the final config file (under /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/99SMESiteMaker_yourconfname) to add your own parameters, but generally default is ok.

Usage

First, download from SMESM to any location in your SME.

Then untar the script. In this example I use v2.0:

tar xzvf SMESiteMaker_v2.0.tar.gz

Enter to SMESiteMaker dir.

cd SMESiteMaker_2.0

and finally execute the script

sh smesm

or

./smesm

The script gives you information and prompts for answers at each step.

Removal

If you make a mistake or want to revert the changes, first remove the directory you choose to locate your site under /opt. Then remove the file /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/99SMESiteMaker_yourconfname. If you create a DB then remove DB and User if they are new and no longer needed.

Finally expand template and restart the service:

expand-template /etc/httpd/conf/httpd.conf
/etc/init.d/httpd-e-smith restart

Adding functionality?

If you improve or add new functions to the script, please update this wiki page and upload the new version at Bugzilla:2975.

Comments & Support

Please, use this thread in the forum for questions or comments: New SME SM thread

Old SME SM thread

Screen Capture

Smesm.png


Improvements

You can improve the script adding new functions, and specially re-writing my bad english text strings.

You can add functions to handle perl, and custom apache and php directives.

The idea of this script can be used as the new panel development, for add and configure the web site via server-manager.

Here I list the variables used into the script and their signify:

$files_root - Root directory name
$f_root - Root Pathname
$alias_root - HTTP alias choosed
$a_root - HTTP alias configured
$f_ssl - Flag SSLRequireSSL on
$f_idx - Flag Indexes
$f_aov - Flag AllowOverride
$f_php - Flag PHP
$f_fop - Flag allow_url_fopen
$f_eac - Flag Eaccelerator
$f_rgl - Flag register_globals
$f_obd - Flag open_basedir
$open_bd - Open Basedir directories
$fopt - Temp var used in Options
$f_cgi - Flag CGI
$cgi_root - CGI directory name
$c_root - CGI pathname configured
$calias_root - CGI alias choosed
$ca_root - Add "/" in CGI Alias
$db_on - Flag MySQL
$db_host - host db
$db_name - name db
$db_pass - pass db
$db_user - user db
$query_file - temp query file
$db_new - temp variable new db
$db_unew - temp variable new user
$custom_httpd_dir - /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf
$conf_name - Name for this configuration
$c_name - 99SMESiteMaker_$conf_name
$c_file - $custom_httpd_dir/$c_name


Changelog

# Author: Normando Hall (PicsOne)
# nhall@unixlan.com.ar
#
# Status
# Version: 2.0
# 20/10/2007  (d/m/Y)
#
#
# Changelog
#
# 2.0 (reloaded) (by Normando Hall)
# Remove SME6 compatibility
# Fix root dir perms
# Improve instructions and visual
# Generate index.html for test and info purposes
# Fix some bugs
# Rename the script to smesm
# Secure some script functions
#
# 1.7 (by Normando Hall)
# Fix some bugs with MySQL database and users already exists
# Set debug output to /opt
# Added SME6 support
# Improve some functions
# Stylize prompt
#
# 1.5 (by Normando Hall)
# Fix some bugs with CGI dir
# Added full mysql support
#
# 1.1 (by Normando Hall)
# Added php open_basedir restriction
# Set debug variable
#
# 1.0 (by Normando Hall)
# Initial release