mambo

Mambo most often refers to: read more at WikiPedia

  • For "Joe six pack" user to advance users... 

    1. You only want to use Mambo admin panel-EASIEST
    2. Your provider has given You a plesk panel -EASY
    3. Your provider only give You a Telnet or ssh access to the server -ADVANCE USER
    4. You want more! - VERY ADVANCE USER

    I am using the method 4, which isn't more difficult and a lot better, open the script and set the variable according to the internal documentation. Upload the file to the server (not in httpdocs under plesk), chmod the file to 700 (rwx- - - - - -) and define a daily crontab. This script is making daily, weekly, monthy backup and send me a mail with the result and a report...

     1. You only want to use Mambo admin panel-EASIEST

    Install a Mambo component: Site backup from bigAPE

    The Component provides a basic site backup feature set. The following features are currently offered:

    • Ability to backup the entire Mambo file and database system to a compressed file.
    • Ability to select which folders to include and exclude from the backup
    • Ability to download & manage archives of the Mambo file system
    • Ability to generate, download & manage archives of the Mambo mySQL database
    • Archives files are unique to the Mambo installation based on creation time and secret key
    • Ability to email the generated archive file to a specified account (BETA)
    • Backup excludes existing backup sets to conserve space
    • Backwardly compatible with 4.5.1

    Note: this plugin is only backing up your DB and files when You want it. It is a lot BETTER to use a periodical backup strategy

    2. Your provider has given You a plesk panel-EASY

    We will use crontab:

    The crontab command, found in Unix and Unix-like operating systems, is used to schedule commands to be executed periodically. It reads a series of commands from standard input and collects them into a file known also known as a "crontab" which is later read and whose instructions are carried out.

    Go in the crontab section of plesk. (I have use here Plesk 7.5.2)

    Values that are allowed to be use:

    • Minute - 0-59 or *
    • Hour - 0-23 or *
    • Day of the Month - 1-31 or *
    • Month - 1-12 or *
    • Day of the Week - 0-6 (0 is Sunday) or *

    We need at least 3 tasks

    1. A task which extract all data from the database (here starting at 12:00)

    MinuteHourDay of the MonthMonthDay of the WeekCommand
    00***/usr/local/mysql/bin/mysqldump -uXXXX -pYYYY -q -hHOST TABLE > /home/httpd/vhosts/waltercedric.com/private/dbbackups/mambobackup.txt

    -uXXXX replace XXXX with your Mambo username for mysql
    -pYYYY replace YYYY with your Mambo password for mysql
    -hHOSTis yourdomain.com or .net or whatever tld your domain has
    TABLE is the Mambo table You want to backup
    /home/httpd/vhosts/waltercedric.com/private/dbbackups/mambobackup.txt is a file in a directory outside /httpdocs chmod to 700 (or rwx------_)

    2. A task which create a zip of the resulting file (here starting at 12:05)

    MinuteHourDay of the MonthMonthDay of the WeekCommand
    50***gzip -9 -f /home/httpd/vhosts/waltercedric.com/private/dbbackups/mambobackup.txt

    Notes

    1. You can also combine task 2 and 3 in one line and without temporary file (mambobackup.txt) by defining task:
      /usr/local/mysql/bin/mysqldump
      -uXXXX -pYYYY -q -hHOST TABLE | gzip -9 > /home/httpd/vhosts/waltercedric.com/private/dbbackups/mambobackup.txt.gz
    2. File mambobackup.txt is overwritten at each execution of the task -> may be not a goo idea :-(

    3. A task which send an email of the result (here starting at 12:10)

    MinuteHourDay of the MonthMonthDay of the WeekCommand
    100***MAILTO=This email address is being protected from spambots. You need JavaScript enabled to view it. /home/httpd/vhosts/waltercedric.com/private/dbbackups/mambobackup.txt.gz

    This email address is being protected from spambots. You need JavaScript enabled to view it. is the mail recipient

     

    3. Your provider only give You a Telnet or ssh access to the server -ADVANCE USER

    Follow the guide of TVB on Mambers forums, below is

    A copy of this text...All credits to author
    Cronjobbing your mambo (or any mysql db for that matter)--a short tutorial
    This is a script that was put together by another Futurequest site owner that I have changed very slightly for my own purposes

    If you comfortable backing up via command line, then hopefully this will help you. I suspect if you are backing up this way, you already know this stuff.

    If you don't know how to backup via command line or a cron job, it's real easy to follow the instructions (I hope they are---I tried to make them easy).

    Please note this is for a *nix setup and your setup or file structure on your server may be different. I am unable to offer support for it as I only know it works for me, and hopefully it will for you as well. Use at your own risk and enjoyment.

    I'm posting it because I am always seeing a lot of questions on backing up.

    *********************
    Step 1. Using your file manager or your ftp client, create a directory called dbbackups above the www level (for example: /big/dom/xyourdomain/dbbackups) Chmod it to 700.

    .
    Step 2. using notepad or your favorite text editor create a text file with the following contents:

    Code:

    #!/bin/bash /usr/local/mysql/bin/mysqldump -uxyourdomain -pyourpassword -q -hmysql.yourdomain.tld xyourdomain >/big/dom/xyourdomain/dbbackups/mambobackup.txt



    after the -u is your username for mysql
    after the -p is your password for mysql
    after the -hmysql is yourdomain.com or .net or whatever tld your domain has

    Following that is the name of the database you are using to run mambo. If you need help remembering which database you used to run mambo, check your config.php file in your mambo or check with phpMyadmin.
    After the /big/dom/x insert your actual domain name (no tld this time)

    Name this text file mambobackup.sh and install it at the root ( /big/dom/xyourdomain/mambobackup.sh ) & Chomod it 700.

    Step 3. Telnet into your account with your favorite SSH client (I like Putty) using your ftp username and password. On the command line enter /big/dom/xyourdomain/mambobackup.sh and hit enter. Put your actual domain in place of yourdomain in the example.

    Step 4. From your file manager or your ftp client, check the contents of the folder at /big/dom/xyourdomain/dbbackups/ and inside it you should find a file named mambobackup.txt which is a copy of your mysql database used to run your mambo.

    I also use vbulletin and have the same exact script installed substituting "forum" for "mambo" wherever it occurs. Both backup to the dbbackups directory


    Automating your backup:

    Important-if you have a crontab job already running, these instructions will overwrite it. Chances are, if you have one running, and want to make backups automated, you will want to add this to your existing crontab job and then reinstall it.

    Step 1. Using your favorite text editor create a text file with the following contents.

    MAILTO=This email address is being protected from spambots. You need JavaScript enabled to view it.
    5 10 * * * /big/dom/xyourdomain/backupscript.sh


    make sure that after .sh you hit enter at least once to create a line feed. Put your actual domain name and tld in place of yourdomain.tld and put your actual domain in place of xyourdomain. Name this file cronjob.txt and install it above the www, ( /big/dom/xyourdomain/cronjob.txt )Chomod it 700

    Using your favorite telnet client, telnet into your account using your ftp username and password. On the command line enter

    crontab /big/dom/xyourdomain/cronjob.txt

    and hit enter. At 10:05 am server time, each day, a new file will overwrite your old one and you will have a daily, fresh backup made automatically for you at /big/dom/xyourdomain/forumbackup/backup.txt You can of course adjust the timing of the backup, by changing the first two entries of cronjob.txt In the example, the 5 is minutes and the 10 is hours. If you wanted the backup to be done at 11:00 PM each day, you would put 0 23 as the first two numbers. However, as it is shown will work fine.

    One consideration in making backups is server storage space or disk usage.

    Automating your backup and saving disk space by gzipping your backup file

    With 1 more file, and a change in the cronjob.txt file, it's easy to create an automated backup file in in a zipped format (which cuts the space used by about 25%. This is what you will need to add:

    1. Create a text file called zip.sh

    Inside this file, put in the following code, replacing xyourdomain with your actual information.

    Code:

    gzip -9 -f /big/dom/xyourdomain/dbbackups/mambobackup.txt



    (I have a second line of code here doing the same for our vbulletin forums, substitituting forumbackup.txt for mambobackup.txt)

    Install this file above the www ( /big/dom/xyourdomain/zip.sh ) and chomod it 700. This script will make mambobackup.txt into mambobackup.txt.gz

    2. You will now need to modify the cronjob.txt file as follows replacing yourdomain.tld and xyourdomain with your actual information.

    MAILTO=This email address is being protected from spambots. You need JavaScript enabled to view it.
    5 10 * * * /big/dom/xyourdomain/backupscript.sh
    10 10 * * * /big/dom/xyourdomain/zip.sh

    after the last .sh be sure to hit enter at least once to insert a line feed. Install the new file in place of the old one above the www ( /big/dom/xyourdomain/cronjob.txt)

    Telnet into your account from CNC using your ftp username and password and on the command line put

    crontab /big/dom/xyourdomain/cronjob.txt

    and hit enter. Replace yourdomain with your actual domain information.
    What will happen is that at 10:05 AM each day, a file called backup.txt will be created in the forumbackup folder. At 10:10 AM each day, that file will be zipped up and made into backup.txt.gz and then gzip automatically deletes backup.txt. This series of events will happen automatically each day until you cancel the crontab job.

    You may change the timing of this by changing the first two numbers on the 2nd and 3rd lines in the cronjob.txt file to suit yourself. IE to run this at 1:05 PM and finish it at 1:10 PM the crontab.txt file would be

    MAILTO=This email address is being protected from spambots. You need JavaScript enabled to view it.
    5 13 * * * /big/dom/xyourdomain/backupscript.sh
    10 13 * * * /big/dom/xyourdomain/zip.sh

    Depending upon your site's busy times, it is best to schedule a backup during slower times of useage. When the backup is being made by the mambobackup.sh script, the site or forum is locked and on a larger site, this could last for 20-30 seconds while myslq dumps the data. You won't lose any data or posts, but your site may appear to be sluggish during this time.

    Betsy

     

    4. You want more! - VERY ADVANCE USER

    You can use the open source project:AutoMySQLBackup

    A script to take daily, weekly and monthly backups of your MySQL databases using mysqldump. Features - Backup mutiple databases - Single backup file or to a seperate file for each DB - Compress backup files - Backup remote servers - E-mail logs -

    • Backup mutiple MySQL databases with one script. (Now able to backup ALL databases on a server easily. no longer need to specify each database seperately)
    • Backup all databases to a single backup file or to a seperate directory and file for each database.
    • Automatically compress the backup files to save disk space using either gzip or bzip2 compression.
    • Can backup remote MySQL servers to a central server.
    • Runs automatically using cron or can be run manually.
    • Can e-mail the backup log to any specified e-mail address instead of "root". (Great for hosted websites and databases).
    • Can email the compressed database backup files to the specified email address.
    • Can specify maximun size backup to email.
    • Can be set to run PRE and POST backup commands.
    • Choose which day of the week to run weekly backups.
  • A lot of binary GPL/open source data stuff for Mambo....
       
    Ranking of articles440 ranking images Simply copy two pictures:
    • one for Off status to your /templates/{nameofyourtemplates}/images/rating_star_blank.png
    • one for ON status to your /templates/{nameofyourtemplates}/images/rating_star.png
    Smileys128 pachagesuse he modified version of AkoComments 2.0 (version unnoficial 2.5)
    Templates345 themes from PHPBBAttention YOu must convert them to use them under Mambo!!!
    Ready to use Templates can be freely downloaded at www.mambohut.com
  • A Patch to protect Mambo administrator login page against brute force password attack!

    How it is working?

    1. It is a component com_hashcash containing alls script to create a MD5 key in PHP and javascript, and verifying a challenge.
    2. The server is sending inside a hidden field a MD5 value which is directly linked to the server, user sessionid, time.
    3. The client will have to encrypt with a MD5 javascript (costly cpu operation for a spammer) the value of this hidden field and send it back to the server as hidden field name.
    4. If the test is not succesful, the spammer will get banned for 60seconds.
    5. All successful/unsucessful submit are logged in a file.
    6. When the file get bigger as 64kb, an email is sent to the admin.

    Installation:
    This component has no administration panel! Simply overwrite the file on Your server with the content of the zip. A component package install is on the way.

    Original Mambo file affected for the login page:

    • /administrator/index.php <- add verification of the challenge
    • administrator\templates\mambo_admin\login.php <- insert hidden fields, and reference to MD5 javascript
    • administrator\templates\mambo_admin_blue\login.php <- insert hidden fields, and reference to MD5 javascript

     Future?
    • Many cryptographic algorithm, SHA1 on the way,
    • A mambots for changing on the fly all FORM before submit,
    • Ako_comment has been already patched, and  tested -> Waiting OK from Arthur Konze for releasing.
    • Ako_guestbok must be changed
    link in download section...


  • security images
    for Mambo
    can help YOU
    Ever been to a site where you had to register and the registration form required that you type in the same phrase that is found in a hard-to-read image?  Mambo has since now not have this possibility. That's why I created an administration component com_securityimages.

    The component is not release yet but will be tomorrow!!!

    The engine is based on this great article at DevShed, I have only modified it to be more flexible, create an admin panel and extend it for Mambo.

    In order to appreciate my work, by clicking read more You will be able to read the manual...
    A GNU/GPL release ;-)

    Update 15.08.2005: I will release the component soon, I have add today:
    • Localization: french, english and german!
    • The core component com_contact is also now using security images (will be installable only as patch, sorry)
    • A new tab in the admin panel: file logging to keep track of the bad boys posting crap to Your site...
    • AkoComment and AkoBook can now live/be used without hashcash and security images if required (switch on/off) in their admin panel
    • com_securityimages is currently in test, but no big error has been found, I am only adding functionnalities (bad before delivery ;-( )
    • Remarq: I can give You installable component version of all components I've changed, but be careful! only use them if You have a fresh install of mambo (or none of the component involved) or You will loose Your comments or Guestbook entries -> It may be safer to carefully overwrite all file with FTP...



    Security images for Mambo

    Installation

    com_securityimages is a regular Mambo component, You can install it like any other component using the backend admin panel.

    After installation, verify that

    You can access the admin panel...
    By pointing your browser to
    http://youhost/administrator/components/com_securityimages/imageGenerator.php

    You see a security image (HIT reload page or refresh to receive a new one)

    Prerequisite

    NONE, but this component use the GD library (PHP extension), it should be present on your Mambo server.

    Already done

    I already modified akocomment and akobook from Arthur Konze to support security images. You can find the component bundled in the ZIP distribution BUT if You decide to use them....

    • Akocomment require com_hashcash which required com_log4php -> so first intall com_log4php then com_hashcash then com_akocomment (component and mambot)
    • Akobook require com_hashcash which required com_log4php -> so first intall com_log4php then com_hashcash then com_akobook

    Usage (for developer)

    Using this framework is very simple.

    In the page your code send to the user...

    <?php include
    ($mosConfig_absolute_path.'/administrator/components/com_securityimages/client.inc');
    ?>
    <?php echo insertSecurityImage("security_refid" );
    ?>
    <?php echo getSecurityImageText("security_try" );
    ?>

    The code above insert the image, and the text, You page normally submit information to the server for processing. Most of the time using the tag form action

    In the server code where you process the data...

    include $mosConfig_absolute_path.'/administrator/components/com_securityimages/server.inc'); $checkSecurity = checkSecurityImage($security_refid, $security_try);



    if $checkSecurity = true then the user has entered the right text.

    Admin panel Screenshots...

    security images for Mambo is highly configurable

    have fun...

  • The core developers team of the award-winning CMS Mambo has announced to discontinue their relationship with Miro for future releases of the CMS. 

    We, the core development teams, unanimously believe:

    • An open source project is about people producing free and open software and contributing to something as a team for the benefit of others.
    • Open source projects reflect the spirit of collaboration and fun while garnering community feedback and providing good governance that allows for business to confidently invest in its development.
    • Open source projects are open to the participation of anybody who can contribute value and is willing to work with the community.

     We, the development team, have serious concerns about the Mambo Foundation and its relationship to the community.

    Read more at http://www.opensourcematters.org/ of the open letter of the core developer community. What does it mean? for Sure a new version of Mambo not connected to Miro anymore.

  • I use previously Jedit (www.jedit.org) and reach the limit very fast (no versionning, no helper, nothing...)  I recommend to  any serious developer to install:
    1. Eclipse from www.eclipse.org free
    2. PHPEclipse plugin from phpeclipse free
    3. A concurent versionning system: CVS fro windows CVSNT  free
    4. A runnable Mambo environment like EasyPHP free
  •  Advantages:
    • Eclipse is free, eclipse has a very good plugin for PHP development: PHPeclipse.
    • Eclipse is working nicely with CVS (concurent versionning system), this is a good way to version any data on your production site.(pictures, configuration files, even mysql database etc...)
    • Eclipse is working nicely with ANT, a kind of make, it can help for automating deployment of your site or automating some tasks
    • Debugging, css, html validation, a way to look and version your work.

    Drawbacks:

    • Make sense if You're a developer or really want to version Your internet page.
    • Heavy approach: need to start Eclipse to "play" with Your Site locally
    • Need to install CVS under windows (a pain)
    1. Download eclipse from www.eclipse.org and install normally (it is a windows application): recommended e:\eclipse
    2. Download PHPeclipse from http://sourceforge.net/projects/phpeclipse and install normally (it is a windows application)
    3. Install a Java Development Kit from www.java.com recommended is jdk1.4.2_06
    4. Uncompress Mambo-Eclipse-v1.0.zip (download in www.waltercedric.com in download section Mambo) on a windows drive E: recommended in E:/Mambo/
      Mambo-Eclipse-v1.0.zip contains:
      A ready to use eclipse workspace.
      Apache 1.3.33, PHP 4.3.10, MySql 4.1.9 et phpMyAdmin 2.6.1.
       
    5. Copy my.ini into c:\windows\
    6. Open the batch file startEclipseMambo.bat and change the location of jdk and eclipse binary (change accordingly what is in bold)
      E:\eclipse\bin\r3.0\eclipse.exe -vm C:\j2sdk1.4.2_06\bin\javaw.exe -data "E:\Mambo" -showlocation
    7. Start eclipse by running the file startEclipseMambo.bat
    8. Copy Your data:
      You already have a Mambo siteYou do not have any Mambo site
      Copy Your entire internet page (everything under the root (/)) with FTP
      under E:/Mambo/httpdocs/
      Copy Mambo from www.mamboserver.com and decompress zip file into
      E:/Mambo/httpdocs/
      Start MySQL and Apache (see point 10.)
      Point Your browser to http://localhost/installation/ and follow instruction
    9. If it is a fresh or a existing installation, in any case You must adapt the path in E:/Mambo/httpdocs/configuration.php
      E:/Mambo/httpdocs/configuration.php
      $mosConfig_absolute_path = 'E:/Mambo/httpdocs/';
      $mosConfig_live_site = 'http://localhost/';
      ...
      $mosConfig_cachepath = 'E:/Mambo/httpdocs/cache';
    10. Start MySQL and Apache by clicking on each icon in eclipse

    11. If one of the component do no start correctly, verify the settings of PHPeclipse under the menu Windows - Preferences- PHPeclipse Web Development or look in the logs file (E:\Mambo\apache\logs\error.log)
    12. Point Your browser to
    • http://localhost/mysql/for starting the phpmyadmin admin console
    • http://localhost/for your site

    Contact me or post coments if You need help. Soon install CVS under Windows or Linux Suse

     

  • GeSHi - Generic Syntax Highlighter: GeSHi started as an idea to create a generic syntax highlighter for the phpBB forum system, but has been generalised to this project. GeSHi aims to be a simple but powerful highlighting script, with the following goals:

    • Support for a wide range of popular languages
    • Easy to add a new language for highlighting
    • Highly customisable output formats

    GeSHi aims to do this all as quickly as possible. Many customisable features of GeSHi facilitate speed increases, and you can easily find a balance between the amount of highlighting done and the speed in which it is done. from http://qbnz.com/highlighter/index.php

    My upgrade is for mambo 4.5.2...

    • Mambo 4.5.2 already contains Geshi (http://qbnz.com/highlighter/index.php) in version 1.0.4
    • Geshi 1.0.7 has beeen release in 2005/06/17
    • Geshi 1.0.7 is a major bugfix release over the previous versions, and upgrading is strongly recommended. In addition, four new languages have been added, including highlighting for diff output.

    #### Upgrade ####

    1. Download geshi1.0.7 for Mambo.zip in my dowmload section
    2. Upgrade Is easy just copy the mambots directory of this archive to the main root of mambo on your server with FTP.
    3. In /css you have the css use on my homepage www.waltercedric.com 

    #### What NEW ####
    I've changed the mambot (/mambots/content/geshi.php ) a little bit:

    • support for CSS: default true, it reduce bandwith!
    • support for code header: default true
    • support for code footer: defaukt false
    • 38 languages from the standard geshi distribution are now shipped (400kb) delete unneede languages in
       mambots/content/geshi/geshi/ 

    to change the value of these flags: open the file /mambots/content/geshi.php and change their default value
     //new code by Walter Cedric www.waltercedric.com

     $useCSS = mosGetParam( $args, 'useCSS', 'true' );
     $useHeader = mosGetParam( $args, 'useHeader', 'true' );
     $useFooter = mosGetParam( $args, 'useFooter', 'false' );
      
    OR
          specify for each <pre> </pre> tag ther value see "example of use"

    ### use a CSS ###
    - Point a browser to www.yoursite.com/mambots/content/geshi/cssgen.php
     and follow instructions, you can at the end copy a css template for geshi (cut and paste from your browser in a file)
    - Create a file named sourceCodeGeshi.css in  www.yoursite.com/templates/mytemplatename/css/ directory.
    - update four index.jsp from www.yoursite.com/templates/mytemplatename/index.jsp to include the new css on all page:
       ex:

    <link 
    href="<?php echo $mosConfig_live_site;?>
    /templates/mytemplatename/css/sourceCodeGeshi.css"
    rel="stylesheet" type="text/css"/>

    - You can delete the generator
    www.yoursite.com/mambots/content/geshi/cssgen.php
    afterward, even if I think it is not a big security issue...

    ### use a header or footer ###

    • footer or header are portion of html code that geshi can add during the rendering of source code.
    • the header and footer are now hardcoded in /mambots/content/geshi.php
       if ($useHeader) {
         $header="<div class=\"sourcecodehead\">
      <div class=\"sourcecodetitle\">
      <LANGUAGE> Source code
      </div>
      </div>"; 
         $geshi->set_header_content($header);
       }
       
       if ($useFooter) {
         $footer="<div class=\"sourcecodefooter\">
      <div class=\"sourcecodetitle\">footer
      </div>
      </div>"; 
         $geshi->set_footer_content($footer);

       }

    #### example of use ####,
       lang="" is recommended since geshi can not detect thhe language automatically:

       example with java:
     <pre lang="java" useCSS="false" useHeader="false">
     private long startStatistics() {
         long before = System.currentTimeMillis();
         if (logger.isDebugEnabled()) {
           logger.debug("Start conversion " );
         }
         return before;
       }
     </pre>

        publish of course the Geshi mambots in Mambo!

    Have fun!

    Kudo to the Geshi developer!
    Kudo to all GPL project around the world!
    Open source is the future of computing ;-)

      
  • Hashcash component has protected successfuly my homepage against several attack these past days...(Casino, poker and so on...) Hello Spammer I seing Your server IP in Hashcash logs files... :-)

    • 80.178.207.175 (Amsterdam, Netherlands) and
    • 83.241.10.135 ( Marina Del Rey, California, United States ) and
    • 83.28.166.64 (Marina Del Rey, California, United States)and
    • 83.28.167.186 (Marina Del Rey, California, United States)

    Next release of hashcash:

    • A correct and well formed XML in logs files ;-)
    • A random security images -> changes in akocomment, easy to do since there is a very good tutorial at DEVSHED.com
    • A way to blacklist comments by IP...
    • Maybe some geolocalization of IP...
    • Some graphical statistics...

  • Do You want to install Mambo?, have a copy of Your productive mambo homepage running locally? or simply develop easily PHP/MySQL code? Do You want to make Mambo a try without the hassle of installations and configurations?
    EasyPHPmight be the answer!
    EasyPHP  is a complete software package allowing to use all the power and the flexibility that offers the dynamic language PHP and the effecient use of databases under Windows. Package includes an Apache server, a MySQL database, a fully PHP execution, as well as easy development tools for your web site or your applications.

    Click 
    Read more... to see my experience with it:

    Install easyPHP
    EasyPHP is a complete software package allowing to use all the power and the flexibility that offers the dynamic language PHP and the effecient use of databases under Windows. Package includes an Apache server, a MySQL database, a fully PHP execution, as well as easy development tools for your web site or your applications.

    The latest stable version (v1.7) is made of:
    • Apache 1.3.27
    • PHP 4.3.3
    • MySQL 4.0.15
    • PhpMyAdmin 2.5.3

    and can be downloaded at: http://www.easyphp.org/

    It is a windows executale, all You have to do is install it.
    Start EasyPHP in the programs menu
    Verify that EasyPHP is running in the system tray

    Check configuration, Apache and MySQl must be started.

    If not be sure not to have another apache process running on port 80

    Check proper installation of EasyPHP. Should open a web browser and drive You to this page

    Copy data from Your productive system (www)

    Copy How  
    all remote file Using Your favorite FTP tool  
    all data in remote Database With your provider HTML tool (PhpMyAdmin)
    Export all tables and content in a SQL file on your Disk
     

    Install file data locally

    Copy Your webserver root to: EasyPHP1-7www
    example: if EasyPHP is installed in E:/www.waltercedric.com/, then copy into E:/www.waltercedric.com/EasyPHP1-7/www/

    Restore database data locally

    Start a browser and go to http://127.0.0.1/mysql/

    Restore the Data in your new database by importing the SQL file.

     

    • Bloc by bloc (see picture) or
    • By importing the SQL zip file
      (not working for me as the browser is doing timeout
      since my Databse is quite big)
    If the restore is successful, create a user, as found in the configuration file of Mambo. Create a User
    • Of the same name and password, or
    • Create a new user (better because of security concerns) ut then do not forget to adapt the configuration.phpaccordingly.


    in Mambo/configuration.php
    ocate the mySQL login and password mambo is using
    <?php
    $mosConfig_offline = '0';
    $mosConfig_host = 'localhost';
    $mosConfig_user = 'XXXX';
    $mosConfig_password = 'XXXXX';
    .
    Grant this user all rights by clicking edit.

    Change Mambo settings

     

    there is a lot of chance that Your local Mambo is not at the same location of Your productive Mambo, so Small changes in Mambo/configuration.phpare needed:

    Example in production Example localy
    $mosConfig_absolute_path = 'www.waltercedric.com/Mambo'; $mosConfig_absolute_path = 'E:/www.waltercedric.com/EasyPHP1-7/www/Mambo';
    $mosConfig_cachepath = 'www.waltercedric.com/Mambo/cache'; $mosConfig_cachepath = 'E:/www.waltercedric.com/EasyPHP1-7/www/Mambo/cache';

    Create a cache directory locally (I never do a backup of this directory, as it can be quite big in production)

    Normally You're done!

     


  • I have successfuly migrated my homepage from Mambo CMS to Joomla CMS.

    Joomla! is a production of Open Source Matters, the same team that brought you the award winning Mambo Content Management System.  OSM has taken their final stable version of Mambo (4.5.2.3), given it a spring clean and named it Joomla! 1.0 In addition, several small features that were going to be released in Joomla! 1.1 have been brought forward and included in this release.

    I have decide to trust and follow the previous core of Mambo developer in they statement: "open source matters".
    For some of You which are prepared to do the same, here is what I have done:
    • First read instructions at Migrating to Joomla! from Mambo
    • I Have done a backup locally of my Mambo directory just in case of...
    • I have made a copy of my Mambo directory on the server into a new directory joomla, open configuration.php and change the path
    • then I have copied the joomla 1.0.1 content into the joomla server directory, do not overwrite configuration and do not copy installation directory
    Make some test to see if everything is working properly, if Yes do the same in your production directory of mambo.
    Note to my visitors: I have not rename my directory since google has referenced it heavily (14700 urls known)
  • at least 4 articles and some work in the backend are lost because of me and an instability on my provider's server. Anyway: real men don't do backup...but they often cry. I will soon describe in a a tutorial how to protect Yourself and Your mambo page against such inconvenience.
  • I commit the latest source code of my 2 components for Mambo, You can no grab the latest source code version at http://mamboforge.net

    • Log4PHP:  Integration of the famous LOG4J technology into Mambo Help any components, modules, mambots to have a way to create accurate informations in logs files: concepts: http://logging.apache.org/log4j/docs/  Origine of code: http://www.vxr.it/log4php/ 
      Attention: current config file of log4php 4 mambo create a file on C:\phperrorXXX.txt and not in stdout/stderr
    • Hashcash A cryptographic framework for Mambo - Currently protection: form submit with hashcash challenge - MD5, RSA, SHA1. (javascript code for the client, PHP code for the server key generation) There is now in the current HEAD:
    1. Backend admin panel,
    2. Logs files are written in XMl and can be viewed in the admin area,
    3. More OO code as before (I am stucked with PHP 4.2 which is not so OO as PHP 5.0).
    4. I have also committed AkoComment, AkoBook, Mambots and templates example of hashcash use

    The current code in HEAD is working, but only in MD5 mode, SHA1 is giving me some problem since my PHP factory is not working for some obscure reason -> The CodeInliner.php plugins sometimes create a HahCashGenerator.php with the default encryption scheme.
    Attention Hashcash require Log4PHP for Mambo!

  • Log4PHPSick of echo "" and useless debug or error statement in PHP  logs? Log4PHP is the famous brother of Log4J, and therefore it is a must for every average developer. I have packed log4PHP into a Mambo component. Enjoy!!!

    TODO: provide a editor for the configuration file log4PHP.properties inside the administration panel

    link in download section....
  •  Log4php is a php port of the most popular java logging framework log4j (see http://jakarta.apache.org/log4j/ for details).

    If You're familiar with log4j, You will have no problem to use Log4PHP, if it is the first time, You can still read my introduction or jump to the official Home of Log4j where You'll find invaluable tutorials and extensions.

     Using log4PHP in Your daily code....

    Log4j only suppose that the config file should be in classpath...either a log4j.properties or a log4j.xml

    As in PHP there us not such concept of clasloader (beside of PATH), You need to tell log4PHP where it's base reside

    The example below is for use log4PHP in a Mambo environment
    //location of configuration file
    define('LOG4PHP_CONFIGURATION', $mosConfig_absolute_path.'/components/com_log4php/log4php.properties');
    //base of log4PHP linbrary
    define('LOG4PHP_DIR', $mosConfig_absolute_path.'/components/com_log4php/api');

    then You need to create a object LogManager

    Somewhere in You code where You need logging facilities

    The LoggerManager has a static method...
    It is recomended to use as logger name the Classname (Here CryptoStrategy)
    require_once(LOG4PHP_DIR . '/LoggerManager.php');

    $logger = & LoggerManager :: getLogger('CryptoStrategy');

    $logger->info("this is a info statement");
    $logger->debug("this is a debug statement");
    $logger->warn("this is a warn statement");
    $logger->error("this is a error statement");
    $logger->fatal("this is a fatal statement");

     

    Log4J, Log4PHP need to be configured...

    A log4PHP file may contains many appenders, layout, logger...

     

    Different Appenders

    • Appenders are kind of object outputing their data to device : mail, file, console, database, socket,....there is no limits
    • Each appender should have a name, which must be unique
    • Appenders can be configured.
    • Appenders use a Layout object to filter/alter data before outputing data
    • You can define an unlimited amount of appender in the configuration file.
    Console

    Useful when developing, when log amount bigger than console buffer may be lost
    Mail

    Send all logs in level bigger or equal as ERROR to a mail adress
    #---------------------------------
    # @console
    # @pattern %d [%t] %-5p %c - %m%n
    #---------------------------------
    log4php.appender.R=LoggerAppenderConsole
    log4php.appender.R.target=STDERR, STDOUT
    log4php.appender.R.layout=LoggerPatternLayout
    log4php.appender.R.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
    #---------------------------------
    # @rotate mail
    # @from This email address is being protected from spambots. You need JavaScript enabled to view it.
    # @to This email address is being protected from spambots. You need JavaScript enabled to view it.
    # @subject 'SYSTEM REPORT'
    # @threshold ERROR
    #---------------------------------
    log4php.appender.R03=LoggerAppenderMail
    log4php.appender.R03.layout=LoggerPatternLayout
    log4php.appender.R03.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
    log4php.appender.R03.from=This email address is being protected from spambots. You need JavaScript enabled to view it.
    log4php.appender.R03.to=This email address is being protected from spambots. You need JavaScript enabled to view it.
    log4php.appender.R03.subject="SYSTEM REPORT"
    log4php.appender.R03.threshold=ERROR
    1. File

    Each day a new file in c:\error_log.txt is created which contains the date in its filename
    2. File

    Rotate daily but output in XML
    #---------------------------------
    # @rotate daily
    # @logfile ./log/error_log_%s.txt
    # @pattern %d [%t] %-5p %c - %m%n
    #---------------------------------
    log4php.appender.R00=LoggerAppenderDailyFile
    log4php.appender.R00.file=c:/error_log_%s.txt
    log4php.appender.R00.layout=LoggerPatternLayout
    log4php.appender.R00.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
    #---------------------------------
    # @logger log4php_01.php
    # @rotate daily
    # @logfile ./log/R01_log_%s.txt
    #---------------------------------
    log4php.appender.R01=LoggerAppenderDailyFile
    log4php.appender.R01.file=./log/R01_log_%s.txt
    log4php.appender.R01.layout=LoggerXmlLayout
    log4php.appender.R01.layout.LocationInfo=true
    3. File

    Create max 3 file of 1024kb per days, if there is more logs than that, contnt of first file
    will be overwritten
     
    #---------------------------------
    # @logger log4php_02.php
    # @rotate rolling
    # @logfile ./log/R02_log_%s.txt
    # @filesize 1024
    # @backup 3
    #---------------------------------
    log4php.appender.R02=LoggerAppenderRollingFile
    log4php.appender.R02.file=./log/R02_log.txt
    log4php.appender.R02.layout=LoggerPatternLayout
    log4php.appender.R02.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
    log4php.appender.R02.MaxFileSize=1024
    log4php.appender.R02.MaxBackupIndex=3
     

    Layout

    • Layout are objects which tell Appenders how to format the log statements.
    • For example while developing, You may not be interested by the date and time for each log event in logs while in production this is a mandatory information
    • Syntax is inherited from the old C school

    Some common examples

    PatternResults
    %d [%t] %-5p %c - %m%n2005-02-09 22:22:00,378 [5124] DEBUG MD5CodeInliner - generating random hidden field name
    %-5p %c - %m%nDEBUG MD5CodeInliner - generating random hidden field name

     

     

     

    Logger

    • Unlimited amount of logger can be defined
    • Logger are in a hierarchy of logger, rootlogger being the top logger which cannot be overwritten (Do You feel the power of Log4j/Log4PHP?)
    • Loggers are subclass of rootLogger and inheriting from him/each other (Do You feel the power of Log4j/Log4PHP?)
    • Logger must have at least ONE appender, but can output to many at the same! (Do You feel the power of Log4j/Log4PHP?)
    • It is better to name logger with the same name as Classname -> the granularity of Log amount is then at the class level...For example: You may need in a class a lot of logs during a debugging session (set it to DEBUG, while You aren't interested by all the other class around: set the rootLogger to ERROR)
    Here the root logger is in DEBUG mode and output to R00

    If You do not have the second line, the whole code will be in DEBUG mode
    log4php.rootLogger=DEBUG, R00
    log4php.logger.CryptoFactory=ERROR, R00

      

    Links

  • My Homepage has been migrated successfuly to the new Mambo 4.5.2. 
  • My homepage is in a transition phase, I plan to use a CMS content management system in the future:http://mamboforge.net/
    "Mambo is a business-oriented open source content management system written in PHP and uses the MySQL database. Initially developed by Miro International, Mambo can be hosted on Linux, Unix, Windows and Macintosh OS X servers - in fact as long as it runs PHP and MySQL, it can run Mambo. Mambo is the perfect solution for developers and novice users alike who demand a simple yet elegant way to deploy professional websites rapidly."
  • My provider encounter an internal hacker attack (around 12.08.2004), this lead to the destrcution of 75 homepage, including mine. Fortunately, I've made a backup the day before because of Mambo's installation....My objective is to transform this monolithical homepage into something more attractive and dynamic while not sacrifying it's content. So since I can not do both, I wont add any interesting content until next month.
  •  Do You think it could be a great idea to have a spamming filter in Mambo in order to reduce spam tentatives? It is one of the most effective methods available right now is Bayesian filtering

    A spam filter that evaluates email message content to determine the probability that it is spam. Bayesian filters are adaptable and can learn to identify new patterns of spam by analyzing incoming email.. Instead of identifying subject line or headers of the email, Bayesian filter will review the content of the email to prevent or block spamming. Bayesian filtering is the process of using Bayesian statistical methods to classify documents into categories.

    I am currently writing a new component com_bayesianNaiveFilter, the engine itself (naive bayesian filter in php) has not be written by me, but I can surely integrate it quite nicely into akocomment and akobook and write an admin panel for it. Only one problem:

    • A filter not well trained won't recognize any spam messages, each user has to trained it's own filter. If I want to avoid this, I will be forced to distribute a huge volume of data with my component (a database full of spam words). Maybe we can use some database of well trusted sources (I dont want to implement a P2P network of linked user database, at least not now and not in PHP4)
  • Your project registration for MamboForge has been approved.
    Project Full Name:  Log4PHP for Mambo - logging framework
    Project Unix Name:  log4php4mambo
    CVS Server:         cvs.log4php4mambo.mamboforge.net
    Shell/Web Server:   log4php4mambo.mamboforge.net

    Integration of the famous LOG4J technology into Mambo Help any components, modules, mambots to have a way to create accurate informations in server logs files:

    http://mamboforge.net/projects/log4php4mambo/

  • Your project registration for MamboForge has been approved.

    Project Full Name:  hashcash for Mambo - cryptographic fw
    Project Unix Name:  hashcash
    CVS Server:         cvs.hashcash.mamboforge.net
    Shell/Web Server:   hashcash.mamboforge.net

    visit it at http://mamboforge.net/projects/hashcash

  • Installation of Hashcash, Security images, and modified version of AkoComment, AkoBook, Contact for Mambo

    Documentation version 1.0
    Bundle version 1.0 available in my download section AntiSpamForMamboBundle1.0.zip


    Report any bugs using the contact section of www.waltercedric.com
    Good luck! and click read more!

    Installation Why File How Risks Manuals
    Changes
    Require  
    Mambot akocomment This mambots create a comment box
    in each article published. It is intended to be use with com_akocomment

    it now support Hashcash and security images
    akocommentbot.zip This file can be install like any mambot
    using the Mambo admin panel
    No data can be lost, the original code has been only altered not fundamentaly changed. none com_akocomment  
    com_log4php This is a logging framework for Mambo using the same technology as Log4Java

    Install it only if You want to install com_hashcash

    com_log4php.zip This file can be installl like any component using the admin panel No data can be lost , it is only php object code You can define a logger for the all mambo component by adding bold lines in /index.php

    /
    / checks for configuration file, if none found loads installation page
    if ( !file_exists( 'configuration.php' ) || filesize( 'configuration.php' ) < 10 ) {
    header( 'Location: installation/index.php' );
    exit();
    }
    include_once( 'globals.php' );
    require_once( 'configuration.php' );

    define('LOG4PHP_CONFIGURATION', $mosConfig_absolute_path.'/components/com_log4php/log4php.properties');
    define('LOG4PHP_DIR', $mosConfig_absolute_path.'/components/com_log4php/api');
    require_once(LOG4PHP_DIR . '/LoggerManager.php');


    // displays offline page
    if ( $mosConfig_offline == 1 ){
    include( 'offline.php' );
    exit();
    }


    But You may also want to configure log4PHP by opening
    log4php.properties
       
    com_hashcash Hashcash is a protecting form framework for Mambo
    which use cryptographic hidden field and require some
    cpu power from the spammer.

    It is not mandatory to install com_hashcash if You prefer to use com_securityimages. But you can use both!

    com_hashcash.zip This file can be installl like any component using the admin panel No data can be lost , it is only php object code You will have to open the file index.php
    of your template site to add a line (see example below, line is in bold).

    <?php
    defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
    // needed to seperate the ISO number from the language file constant _ISO
    $iso = split( '=', _ISO );
    // xml prolog
    echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>

    <?php
    include($mosConfig_absolute_path."/components/com_hashcash/includes/head.inc" );
    ?>

    <title><?php echo $mosConfig_sitename; ?></title>
    com_log4php  
    com_securityimages Security images are hard to read images generated by a program. User has to reproduce what he see in order to be allowed to post something

    It is not mandatory to install com_securityimages if You prefer to use com_hashcash. But you can use both!

    com_securityimages.zip This file can be installl like any component using the admin panel No data can be lost , it is only php object code, and creatin a new table mos_securityimages none

    the component is globally deactivated after install. Go in its admin panel, to "general tab" and switchSwitch component OFF globally :to No
    GD library
    (PHP extension)
     
    com_contacts This is a core component of Mambo, for handling contact

    it is mandatory to install com_securityimagesfirst! there is right now no admin panel for com_contact where You can deactivate com_securityimages
    com_contact.zip Sorry You only have to overwrite all files on Your homepage using FTP

    source file from zip
    destination: /components/com_contact

    No risk. If You do not have com_securityimages installed You may have compile error when going in page contact manual FTP copy com_securityimages  
    com_akocomment This allow user to post comments on Your homepage. This great components has been created by Arthur Konzewww.mamboportal.com

    It is not mandatory to install hashcash if You prefer
    to use com_securityimages. But you can use both!
    com_akocomment.zip 1. If You are installing akocomment for the first time, You can install this component like any other Mambo component.
    OR
    2. You are already using akocomment on Your homepage. (see risk 2.) You can either, depending on Your skills:

    - copy files manually using ftp OR
    - install using method 1. then restore the right table

    1. No risks if you install akocomment for the first time

    2. If You install it using the method 1, The install drop existing database, so You will lost existing comments or will have to restore them from a backup. It is better to ovwerwrite file manually with ftp

    Component in zip file has hashcash and securityimages switched off as default. go to their admin panel to activate the spamming technology You prefer...
    can use
    com_securityimages
    com_hashcash
     
    com_akoguestbook This allow user to have a guestbook on Your homepage. This great components has been created by Arthur Konzewww.mamboportal.com 

    It is not mandatory to install hashcash if You prefer
    to use com_securityimages. But you can use both!

    com_akobook.zip 1. If You are installing akobook for the first time, You can install this component like any other Mambo component.
    OR
    2. You are already using akobook on Your homepage. (see risk 2.) You can either, depending on Your skills:

    - copy files manually using ftp OR
    - install using method 1. then restore the right table

    1. No risks if you install akobook for the first time

    2. If You install it using the method 1, The install drop existing database, so You will lost existing guestbook or will have to restore them from a backup. It is better to ovwerwrite file manually with ftp

    Component in zip file has hashcash and securityimages switched off as default. go to their admin panel to activate the spamming technology You prefer...
    can use
    com_securityimages
    com_hashcash
     

     

     

     

  • In order to avoid spamming at any cost, I include security images in Mambo. The component (a part of hashcash) wont be released before end of the week even if it is functionnal mainly because:

    • I want to integrate this technology in the guestbook (Akobook) ->Not done yet
    • I want to integrate this technology in the administrator login page, this for avoiding brute force attack ->Not done yet
    • I want to have a beautiful backend panel, because this functionnality is highly configurable: ->Not done yet
      Ex of variables in code (not all):
      $textLength = 8;
      $useRandomSize = true;
      $textFontSizeDefualt = 14;
      $textFontSizeMin = 12;
      $textFontSizeMax = 18;
      $textFontName = "garamond.ttf";
      $useRandomTextAngle = true;
      $textAngleMin = -5;
      $textAngleMax = 5;
      $cleanupTable = "10 minutes";
    • So what is done? the commenting system of Mambo (the excellent akocomment component) is migrated.... see picture
    • A GNU/GPL release of course ;-) (for my code only, there is strong copyright on akocomment and akobook)

  • SiteMap component (aka com_jm_sitemap) use on my homepage release in download section under GNU General Public License. You can find a living example in  main menu under SiteMap/TOC).
    all credits goes to Copyright (C) James Mayer, Portland, OR  USA

    Changelog:
    - reformating of source code,
    - add creation date for articles
    - add hitsfor articles
    - change pictures color and motif
    Future:
    - different news icons for articles newer than 1 week, 1 months.
    - backend admin panel
    Know bugs:
    - do not use ' in articles (items) title or category title as it will damage SQL statement build (use ´ instead)
    note there is no backend administrator panel for this component yet.
  • Migration to the latest Mambo 4.5.1 version done