YACS PHP Cross Reference Content Management Systems

Source: /readme.txt - 317 lines - 12552 bytes - Text - Print

   1  Welcome in the world of YACS!
   2  
   3  About yacs
   4  ==========
   5  
   6  YACS is a powerful set of PHP scripts that allow you to maintain a dynamic web
   7  server either on the Internet, within your company, or at home.
   8  
   9  YACS is intended for people that want full control and 'tweakability' over their
  10  sites. If you're just looking for a very simple way to put up a site, or don't
  11  know any HTML, you might want to use a 'simpler' service such as Blogger.
  12  http://www.blogger.com/
  13  
  14  A short summary of most important features is given below:
  15  - Runs on your own server, or on a shared web site
  16  - Post articles with web forms, by e-mail, or remotely (w:bloggar)
  17  - Embed images and photos in articles --automatic resize
  18  - Each section can be a weblog, a discussion board, a book of cooking recipes,
  19  etc, or even a plain list of articles
  20  - Overlay interface for PHP developers, to add extra functionality to articles,
  21  such as polls or cooking recipes
  22  - Display the content tree in Freemind
  23  - Comments, with quoting
  24  - Archives per week and per month
  25  - The home page is updated automatically on article publishing
  26  - Categories, sub-categories, etc. --Build your own Yahoo! or DMOZ...
  27  - Real-time meetings with community members
  28  - Private discussions and messages
  29  - Search on any word --text of articles is fully indexed
  30  - Multiple authors --actually, a community of contributors
  31  - Articles are visible only on publication after review by editors
  32  - Articles and sections can have dead-line to limit visibility over time
  33  - A straightforward control panel, and a set of configuration panels
  34  - File upload to articles , sections or categories
  35  - Attach links to articles, sections or categories
  36  - A comprehensive set of UBB-like codes are available to beautify your posts
  37  - Integrated support of TinyMCE and of FCKEditor
  38  - Fully customizable skins
  39  - Easy integration of Google Maps
  40  - Add a comprehensive web interface to existing collections of files
  41  - Support audio-on demand and video-on demand
  42  - Automatic web slideshow for shared photos
  43  - RSS syndication
  44  - Easy installation
  45  - XML-RPC interface (implementing the Blogger API and metaWeblog API)
  46  - ...
  47  
  48  A more complete list of features is available at
  49  http://www.yacs.fr/go/features
  50  
  51  
  52  Requirements for running YACS
  53  =============================
  54  
  55  If you don't know what we are talking about, ask your system administrator.
  56  
  57  Web server:
  58      Yacs is used with the Apache web server most of the time.
  59      Following modules are recommanded:
  60      - mod_deflate for page compression over the wire
  61      - mod_rewrite for nice URLs, along rules set in .htaccess files
  62      - mod_expire for optimized caching of dynamic objects
  63      
  64  Run-time:
  65     - PHP (version 4.3 or higher) with XML parser
  66     - The imap extension is necessary for mail integration (SMTP and POP3)
  67     - The LDAP PHP extension is required for LDAP user authentication
  68     - If the GD extension is available, YACS will resize uploaded images and build thumbnails
  69     - If the MING extension is available, you may benefit from dynamic Flash news
  70     - If the zip extension is activated, you will be able to upload .zip files
  71     - If the improved MySQL extension is available, YACS will use it
  72     - If the CURL extension is available, YACS will use it to parse external RSS feeds
  73  
  74  Database:
  75     A database connection is needed for YACS to function correctly since most of
  76     its data is stored there.  This database must be created before you begin the
  77     install process. Sample instructions for this are provided below.
  78     Currently YACS only works with a MySQL database (version 3.23.38 or higher).
  79  
  80  Permissions:
  81     YACS has to write to any PHP script (for example, during the update process),
  82     and to other places as well (for example, to write configuration files).
  83     It is assumed that the web daemon properly impersonates your FTP account, or
  84     that you have the ability to alter your directory permissions.
  85     Sample instructions are provided below to fix common permission issues.
  86     Also, you may be in trouble with servers running in safe mode.
  87  
  88  Skills:
  89     You should have some knowledge of HTML and CSS to customize skins and
  90     templates. Also, we recommend you to practice blog, RSS, Wikis to further
  91     benefit from advanced features of YACS.
  92  
  93  
  94  First installation of YACS
  95  ==========================
  96  
  97  0. To get the most recent stable archive, visit
  98  
  99      http://www.yacs.fr/go/download
 100  
 101  1. Explode all files of the archive to a directory of your computer.
 102     Make sure that path names are preserved during the operation.
 103  
 104  2. If your computer is not the target server, you will have to upload all files,
 105     using your favorite FTP program. To connect a Windows workstation to a
 106     secured Unix server visit http://winscp.net/ to get WinSCP.
 107     Make sure to preserve the directory structure of YACS.
 108  
 109  3. (optional) If you are running Apache, you may upload the provided .htaccess
 110     file to your server, or a derivated version, to further secure access to your
 111     server, to implement nice error pages, etc.
 112  
 113  4. YACS requires adequate rights to write files in this structure. An adequate
 114     setting for the setup is to chmod everything to 707.
 115  
 116      cd your_installation_directory
 117      chmod -R 707 .
 118      ls -l
 119  
 120     In case of PHP safe mode, you will have to chown every directory and file to
 121     the UID used by the web server to run YACS.
 122  
 123  5. Launch the setup script through your web browser. It is named setup.php, and
 124     is located at the installation directory. Adapt yoursite and yourpath to your
 125     needs: http://www.yoursite.com/yourpath/yacs/setup.php.
 126  
 127     For example, if the root URL of your installation directory is
 128  
 129      http://www.foo.bar/~fancy
 130  
 131     then the setup script is at
 132  
 133      http://www.foo.bar/~fancy/yacs/setup.php
 134  
 135  6. Pass through the several steps of the installation process. The setup script
 136     will prompt you for some information, and perform most of the installation
 137     on your behalf.
 138  
 139     During the setup you will have the opportunity to create a user account with
 140     associate privileges. Note carefully the password you have entered.
 141  
 142     During the process you will be provided with further instructions, if any.
 143  
 144  7. (optional) After a successful installation you may attempt to improve on
 145     security and performance by setting particular file permissions, by tweaking
 146     .htaccess, and by changing YACS parameters.
 147  
 148  8. Browse the YACS Control Panel to access configuration panels, to switch to
 149     any module, and to trigger the Content Assistant.
 150  
 151     You are now ready to upload and to share information with other members of
 152     your community! Thank you for your interest in YACS.
 153  
 154  
 155  
 156  Never reinstall your server again!
 157  ==================================
 158  
 159  YACS implements very powerful mechanisms to benefit from software upgrades.
 160  
 161  All you have to do is to configure a reference source of code for your server,
 162  and to check periodically for updated and new scripts.
 163  
 164  To get more information on this feature visit
 165  
 166      http://www.yacs.fr/go/upgrades
 167  
 168  The default reference server is www.yacs.fr, but you can
 169  change this to use another server if you wish. IT managers will appreciate.
 170  
 171  The update process is not automatic. Once a month, or to benefit unattended from
 172  a new YACS feature exposed at http//www.yacs.fr, go to the
 173  Configuration Panel, select the System tab, then the Server software link.
 174  
 175  
 176  Preparing a local MySQL server for YACS
 177  =======================================
 178  
 179  This assumes that you have a working MySQL server and client setup.
 180  
 181  Installing MySQL is beyond the scope of this document.
 182  For more information on MySQL go to http://www.mysql.org/
 183  
 184  1. If you do not have a suitable database already, create one using
 185     the root or other privileged account (i.e., 'privileged_user' and
 186     'privileged_password' below) you set up when MySQL was installed.
 187  
 188      mysqladmin -uprivileged_user -pprivileged_password create yacs
 189  
 190  2. If necessary create a user for that database which has the rights
 191     to create, alter, drop, select, insert, update, delete (again using
 192     the root administration account).
 193  
 194      mysql -uprivileged_user -pprivileged_password yacs
 195  
 196     A MySQL grant statement for a local access of this user (i.e., 'user' and
 197     'password' below) would look like this:
 198  
 199      grant all privileges on yacs.* to user@localhost identified by 'password';
 200  
 201  3. Tables are created and populated during setup steps, providing you
 202     give adequate account information to YACS. Do not look for a single
 203     text file of MySQL statements, because there is not such a thing in
 204     the YACS archive. Actually, statements are dynamically prepared from
 205     within PHP scripts. Look at control/setup.php for more information
 206     on this topic.
 207  
 208  
 209  Common permissions settings
 210  ===========================
 211  As you may know, every directory and file on a Unix system has an owner, and
 212  also an associated group. It also has a set of permission flags which specify
 213  separate read, write and execute permissions for the 'user' (owner), 'group',
 214  and 'other' (everyone else with an account on the computer). The 'ls' command
 215  shows permissions and group associated with files when used with the -l option.
 216  
 217  To understand permissions set by the 'chmod' command, remind that these are
 218  numerically equivalent to those reported by the 'ls' command, namely:
 219  - 7 means "may read, write, and execute"
 220  - 6 means "may read and write"
 221  - 4 means "may read"
 222  - 0 means "forbidden access"
 223  
 224  Normally, user/group information is set based on the FTP account used to upload
 225  YACS files to the web server, for example foobar/users.
 226  
 227  Ideally, a properly configured web server should impersonate you when executing
 228  your scripts, for example with user/group information set to foobar/nobody.
 229  In this case the server has exactly the same rights that you have through FTP,
 230  and you can 'chmod' everything to 700 if you like.
 231  
 232  Sometimes, the web daemon uses dedicated accounts, such as apache/www-data. In
 233  that case the web daemon effectively has no rights to your files.
 234  
 235  How to overcome this?
 236  
 237  Solution 1. Impersonate your account
 238  
 239  Ask your system administrator to run your scripts with your account information,
 240  as explained before. See http://www.suphp.org for a practical solution.
 241  
 242  Solution 2. Open to the world
 243  
 244  You can attempt to 'chmod' everything to 707, to give maximum
 245  permissions to the world, including the web daemon. Check actual results with
 246  'ls -l', since your account may be prevented to do this. For example:
 247  
 248      cd your_installation_directory
 249      chmod -R 707 .
 250      ls -l
 251  
 252  Solution 3. Use web daemon group
 253  
 254  Another option is to change group information of all files,
 255  to re-use the one of the web daemon. Then you will have to give maximum
 256  permissions to the group. For example:
 257  
 258      cd your_installation_directory
 259      chgrp -R www-data .
 260      chmod -R 770 .
 261  
 262  Solution 4. Set web daemon in your group
 263  
 264  Ask your system administrator to put the web user account in your
 265  own group, and then give maximum permissions to the group. For example:
 266  
 267      cd your_installation_directory
 268      chmod -R 770 .
 269  
 270  Solution 5. Safe Mode
 271  
 272  If the PHP environment is in safe mode, you should change that the
 273  http daemon has the same uid (owner) than the owner of files and directories.
 274  You can either ask your system administrator to impersonate your account(see
 275  solution 1), or ask him to change ownership of the YACS directory.
 276  
 277  Example allowed only to root users:
 278  
 279      cd your_installation_directory
 280      chown -R www-data .
 281  
 282  
 283  For every other need
 284  ====================
 285  
 286  Please look at http://www.yacs.fr/
 287  
 288  Enjoy!
 289  
 290  
 291  GNU Lesser General Public License
 292  =================================
 293  
 294  YACS: PHP/MySQL Community and Content Management System (http://www.yacs.fr/)
 295  Copyright (C) 2003-2008 Paxer Conseil
 296  
 297  This program is free software; you can redistribute it and/or modify it under
 298  the terms of the GNU Lesser General Public License as published by the Free
 299  Software Foundation; either version 2 of the License, or (at your option)
 300  any later version.
 301  
 302  This program is distributed in the hope that it will be useful, but WITHOUT ANY
 303  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 304  PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 305  details.
 306  
 307  You should have received a copy of the GNU Lesser General Public License along
 308  with this program; if not, write to the Free Software Foundation, Inc.,
 309  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 310  
 311  Alternatively, you may download a copy of this licence file from
 312  http://www.gnu.org/copyleft/lesser.txt
 313  
 314  Your possession of this software signifies that you agree to these terms.
 315  Please delete your copy of this software if you don't agree to these terms.
 316  
 317  

title

Description

title

Description

title

Description

title

title

Body