Nucleus is a Content Management System (CMS): a powerful set of PHP scripts that allow you to maintain one or more weblogs or online journals. A short summary of the most important features is given below:
Requirements in order to run Nucleus: (If you don't know if you fit the requirements, ask your system administrator)
Nucleus is intended for the people that want full control and 'tweakability' over their sites. If you're just looking for a very simple way to put up a site, or don't know any HTML, you might want to use a 'simpler' service such as Blogger.
Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
Copyright (C) 2002-2004 The Nucleus Group
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Your possession of this software signifies that you agree to these terms. Please delete your copy of this software if you don't agree to these terms.
Installing Nucleus is done through some steps:
Unzip all files to a directory of your computer. Make sure the path names are used when unzipping. You should end up with the following directory structure (* stands for a number of files):
/* (main files for site) /nucleus/* (main files for admin-area) /nucleus/javascript/* (javascript helper scripts) /nucleus/libs/* (Nucleus core libs) /nucleus/language/* (definitions of languages) /nucleus/plugins/* (plugin-dir) /nucleus/xmlrpc/* (XML-RPC interface) /nucleus/documentation/* (Documentation + admin-area help) /nucleus/styles/* (stylesheets for docs & admin-area) /nucleus/forms/* (skeletons for commentforms etc) /extra/* (extra goodies, e.g. needed files to enable fancy URLs) /skins/* (skins directory [imported skins will go here]) /media/* (media library directory [emtpy])
Upload all files to your server, using your favorite FTP program. Make sure to upload .php files in ASCII mode! It might not work otherwise.
Open your web browser open the URL below, where you adapt the yoursite and yourpath parts.
http://www.yoursite.com/yourpath/install.php
This install-script will prompt you for some information, and perform most of the installation for you. When everything has succeeded, install.php will provide you with further instructions. (you'll still need to delete some files manually)
You should now be able to visit your site at http://yoursite.com/weblog/ (or whatever URL maps to the location where you uploaded the Nucleus site main files)
Since Nucleus needs to connect to a mySQL database from a PHP-script, the password for that database must be stored inside a PHP-file. On multi-user systems, this might cause an unevitable security risk: On some systems, other users will be able to read your login information. You might want to contact your system operator to find out how secure it is to store sensible information inside PHP-scripts.
The problem above is common to all PHP scripts that need to connect to a database. As a user, there's usually nothing you can do about it in order to make things 100% secure. We just want you to be aware of this potential danger.
Nucleus uses cookies to store user login information. This could cause a security risk when your cookies are stolen. Although your password is not derivable from the cookie (the values stored in the cookie are the username and a randomly generated string), there could be ways to 'fake' the cookie on another computer and thus to get logged in.
When you want to enable file upload, you'll need to set the permissions of the media dir to 777, which means that everyone on that server will be able to delete/add/... files. The reason why this is needed, is that PHP mostly runs as the httpd user, and that user needs to be able to access this dir and write to it. Here also, there's no way around this.
Contradictory to some other weblog/online journal scripts, Nucleus does not generate a static version of all items. This means that every time a page is requested, the PHP parser is called and the database is accessed to dynamically create the requested page.
For small web sites, this should not cause any problem. For web sites that get dozens of hits per second, the effect on the systems performance isn't really known. So far, no problems have been reported by Nucleus users (some are running pretty big sites on it, with 30 or more weblogs on a single installation).
Nucleus has some built-in rules concerning comments:
As for now, all of these rules and parameters are hardwired into the code.
XML-RPC is a format for remote calls using XML messages. Sounds complex, but implementing an XML-RPC interface into an application allows other services to communicate with it.
Currently, there are three APIs supported: the Blogger API, the metaWeblog API, and the Movable Type API. If you want an examples of a client that uses these interfaces, try w.Bloggar (Windows) or Ecto (MacOS).
The available calls to the interface are described in the development documentation, which can be separately downloaded, or viewed online.
Below, some of the most common problems with and questions about Nucleus are answered. Please read these first before you ask for help. In many cases, the solution can be found here.
Cannot send headers. Headers already sent...
config.php
. Check if it has spaces or newlines before the starting <? or after the ending ?>. If there are, remove them. The problem can also have to do with spaces in the language file or one of the installed plugins.
Some known issues/bugs:
No matter how hard we try, some people will be unintentionally overlooked in this section.
Many thanks should also go to all people who have helped Nucleus to become what it is today.