====== Setting up Joomla 2.5 CMS in Slackware 14.0 64bit ====== This HowTo describes simplified instruction for installing Joomla 2.5 content management system in Slackware 14.0. For more complex instructions you may want to read ... * start conditions is freshly installed Slackware 14.0 with option "Full install". * In configuring stage you choose to automatically start applications "apache" (rc.httpd) and "MySQL" (rc.mysqld) ====== Configure MySQL ====== - Copy with rename ''/etc/mysql/my-large.cnf'' or another file from that directory, who meet your requirements, to ''/etc/my.cnf'' - Edit that ''/etc.my.cnf'' to add three lines after [mysqld], as there: [mysqld] collation-server = utf8_unicode_ci init-connect='SET NAMES utf8' character-set-server = utf8 - After that, restart MySQL server. - Do as root mysql_install_db --user=mysql - Do as root mysql_secure_installation , and set mysql root password ( and write it down or remember), and choose all default answers - After that, do mysql -u root -p after write user password, be in mysql>. write CREATE USER 'joomla_db_username'@'localhost' IDENTIFIED BY 'joomla_db_user_password'; , where joomla_db_user is user, who you make for under who your joomla stores information in mysql. joomla_db_user_paswword is your choosing password for that mysql user. - write GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON yourdatabasename_for_joomla.* to 'joomla_db_username'@'localhost'; - after that do FLUSH PRIVILEGES; and then quit - and finally, do from bash mysqladmin -u joomla_db_username -p create yourdatabasename_for_joomla it need input of your "joomla_db_username" password, seems as "joomla_db_user_password" in that instruction. - That's all, your MySQL will be ready to install and configure Joomla. ====== Configure Apache Webserver ====== - Open ''/etc/httpd/httpd.conf'' in a text editor such as vi or nano. - Change the ''ServerAdmin'' and ''ServerName'' variables to your liking. - Change the first encounter of Directive AllowOverride none Require all denied to: Options FollowSymLinks Includes AllowOverride None - Next, edit "''/etc/httpd/httpd.conf''" to configure a new DocumentRoot. By default the Apache DocumentRoot is the directory "''/srv/httpd/htdocs''". We will change that to the Joomla installation directory. In this example, we will install Joomla to "/srv/httpd/beautifulsite.com". \\ Search for the two directives DocumentRoot "/srv/httpd/htdocs" and and change both values from "/srv/httpd/htdocs" to "/srv/httpd/beautifulsite.com". - Next, look at below section: # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Require all granted and change following: Options Indexes FollowSymLinks Includes MultiViews ExecCGI AllowOverride All Order allow, deny Allow from All and comment the line "Require all granted" - At the bottom of the file, change the section DirectoryIndex index.html adding "index.shtml index.php" after "index.html". - Comment out the string "''AddHandler cgi-script .cgi''" - Uncomment the php module: Include /etc/httpd/mod_php.conf -following modules must be uncommented: LoadModule authn_file_module lib64/httpd/modules/mod_authn_file.so LoadModule authn_core_module lib64/httpd/modules/mod_authn_core.so LoadModule authz_host_module lib64/httpd/modules/mod_authz_host.so LoadModule authz_groupfile_module lib64/httpd/modules/mod_authz_groupfile.so LoadModule authz_user_module lib64/httpd/modules/mod_authz_user.so LoadModule authz_core_module lib64/httpd/modules/mod_authz_core.so LoadModule access_compat_module lib64/httpd/modules/mod_access_compat.so LoadModule auth_basic_module lib64/httpd/modules/mod_auth_basic.so LoadModule reqtimeout_module lib64/httpd/modules/mod_reqtimeout.so LoadModule filter_module lib64/httpd/modules/mod_filter.so LoadModule mime_module lib64/httpd/modules/mod_mime.so LoadModule log_config_module lib64/httpd/modules/mod_log_config.so LoadModule env_module lib64/httpd/modules/mod_env.so LoadModule headers_module lib64/httpd/modules/mod_headers.so LoadModule setenvif_module lib64/httpd/modules/mod_setenvif.so LoadModule version_module lib64/httpd/modules/mod_version.so LoadModule proxy_module lib64/httpd/modules/mod_proxy.so LoadModule proxy_connect_module lib64/httpd/modules/mod_proxy_connect.so LoadModule proxy_ftp_module lib64/httpd/modules/mod_proxy_ftp.so LoadModule proxy_http_module lib64/httpd/modules/mod_proxy_http.so LoadModule proxy_fcgi_module lib64/httpd/modules/mod_proxy_fcgi.so LoadModule proxy_scgi_module lib64/httpd/modules/mod_proxy_scgi.so LoadModule proxy_ajp_module lib64/httpd/modules/mod_proxy_ajp.so LoadModule proxy_express_module lib64/httpd/modules/mod_proxy_express.so LoadModule lbmethod_byrequests_module lib64/httpd/modules/mod_lbmethod_byrequests.so LoadModule lbmethod_bytraffic_module lib64/httpd/modules/mod_lbmethod_bytraffic.so LoadModule lbmethod_bybusyness_module lib64/httpd/modules/mod_lbmethod_bybusyness.so LoadModule mpm_event_module lib64/httpd/modules/mod_mpm_event.so LoadModule unixd_module lib64/httpd/modules/mod_unixd.so LoadModule status_module lib64/httpd/modules/mod_status.so LoadModule autoindex_module lib64/httpd/modules/mod_autoindex.so ##openwebmail! LoadModule cgi_module lib64/httpd/modules/mod_cgi.so LoadModule dir_module lib64/httpd/modules/mod_dir.so LoadModule alias_module lib64/httpd/modules/mod_alias.so ### joomla mod_rewrite! Loadmodule rewrite_module lib64/httpd/modules/mod_rewrite.so #for gzip compression, joomla! LoadModule deflate_module lib64/httpd/modules/mod_deflate.so and save the file. - Next, edit the file "''/etc/httpd/php.ini''" - Search for string output_buffering = 4096 and change them to output_buffering = Off - Save the file, and finally restart the webserver: root@darkstar:~# /etc/rc.d/rc.httpd restart In the "CustomLog" section of ''/etc/httopd/httpd.conf'', if you plan to use webalizer, comment "CustomLog ..... common" and uncomment "CustomLog .... combined" strings In ''/etc/httpd/httpd.conf'', you can comment out the VirtualHost configuration, if you intend run many webservers on your host. If not, leave it, as it is. #Include /etc/httpd/extra/httpd-vhosts.conf ====== Set Up Joomla 2.5 ====== - Download a Joomla tarball at [[http://www.joomla.org/download.html]], choose the "//Full package, Zip//" archive. - We install Joomla as the Apache Webserver's //[[http://httpd.apache.org/docs/current/mod/core.html#documentroot|DocumentRoot]]//, which we configured as "''/srv/httpd/beautifulsite.com''" in the previous section. Create a new directory called "''beautifulsite.com''" under "''/srv/httpd/''". We will end up with the new directory "''/srv/httpd/htdocs/beautifulsite.com''" which will be used by Apache as the DocumentRoot. - Uncompress the joomla zip-file into that directory: root@darkstar:~# unzip Joomla_2.5.9-Stable-Full_Package.zip -d /srv/httpd/htdocs/beautifulsite.com - As root, change the file ownership to the Apache user: root@darkstar:~# chown -R apache:apache /srv/httpd/beautifulsite.com - The initial Joomla configuration is done in a web browser (preferably from another computer workstation). Enter our "''http://beautifulserver.com''" URL in the browser's addressbar. This will start start the web-based configuration of our newly installed Joomla CMS. When you get to the database configuration, the better choice is "**mysqli**". Input is also required for the Joomla database username and password. The rest of the configuration is straight-forward. - After that, if you want to use SEO-friendly settings ( URL rewriting), then rename htaccess.txt in your root of current joomla catalog to .htaccess . ====== Sources ====== * Original source: [[http://stackoverflow.com/questions/3513773/change-mysql-default-character-set-to-utf8-in-my-cnf|MySQL config to UTF8 support]]. * Originally written by [[wiki:user:wisedraco | John Ciemgals]] {{tag>howtos joomla author_wisedraco}}