Publisher - Installation Guide
Publisher Installation Guide
Section titled “Publisher Installation Guide”Complete instructions for installing and configuring the Publisher module for XOOPS CMS.
System Requirements
Section titled “System Requirements”Minimum Requirements
Section titled “Minimum Requirements”| Requirement | Version | Notes |
|---|---|---|
| XOOPS | 2.5.10+ | Core CMS platform |
| PHP | 7.1+ | PHP 8.x recommended |
| MySQL | 5.7+ | Database server |
| Web Server | Apache/Nginx | With rewrite support |
PHP Extensions
Section titled “PHP Extensions”- PDO (PHP Data Objects)- pdo_mysql or mysqli- mb_string (multibyte strings)- curl (for external content)- json- gd (image processing)Disk Space
Section titled “Disk Space”- Module files: ~5 MB
- Cache directory: 50+ MB recommended
- Upload directory: As needed for content
Pre-Installation Checklist
Section titled “Pre-Installation Checklist”Before installing Publisher, verify:
- XOOPS core is installed and running
- Admin account has module management permissions
- Database backup created
- File permissions allow write access to
/modules/directory - PHP memory limit is at least 128 MB
- File upload size limits are appropriate (min 10 MB)
Installation Steps
Section titled “Installation Steps”Step 1: Download Publisher
Section titled “Step 1: Download Publisher”Option A: From GitHub (Recommended)
Section titled “Option A: From GitHub (Recommended)”# Navigate to modules directorycd /path/to/xoops/htdocs/modules/
# Clone the repositorygit clone https://github.com/XoopsModules25x/publisher.git
# Verify downloadls -la publisher/Option B: Manual Download
Section titled “Option B: Manual Download”- Visit GitHub Publisher Releases
- Download the latest
.zipfile - Extract to
modules/publisher/
Step 2: Set File Permissions
Section titled “Step 2: Set File Permissions”# Set proper ownershipchown -R www-data:www-data /path/to/xoops/htdocs/modules/publisher
# Set directory permissions (755)find publisher -type d -exec chmod 755 {} \;
# Set file permissions (644)find publisher -type f -exec chmod 644 {} \;
# Make scripts executablechmod 755 publisher/admin/index.phpchmod 755 publisher/index.phpStep 3: Install via XOOPS Admin
Section titled “Step 3: Install via XOOPS Admin”- Log in to XOOPS Admin Panel as administrator
- Navigate to System → Modules
- Click Install Module
- Find Publisher in the list
- Click Install button
- Wait for installation to complete (shows database tables created)
Installation Progress:✓ Tables created✓ Configuration initialized✓ Permissions set✓ Cache clearedInstallation Complete!Initial Setup
Section titled “Initial Setup”Step 1: Access Publisher Admin
Section titled “Step 1: Access Publisher Admin”- Go to Admin Panel → Modules
- Find Publisher module
- Click Admin link
- You’re now in Publisher Administration
Step 2: Configure Module Preferences
Section titled “Step 2: Configure Module Preferences”- Click Preferences in the left menu
- Configure basic settings:
General Settings:- Editor: Select your WYSIWYG editor- Items per page: 10- Show breadcrumb: Yes- Allow comments: Yes- Allow ratings: Yes
SEO Settings:- SEO URLs: No (enable later if needed)- URL rewriting: None
Upload Settings:- Max upload size: 5 MB- Allowed file types: jpg, png, gif, pdf, doc, docx- Click Save Settings
Step 3: Create First Category
Section titled “Step 3: Create First Category”- Click Categories in left menu
- Click Add Category
- Fill in form:
Category Name: NewsDescription: Latest news and updatesImage: (optional) Upload category imageParent Category: (leave blank for top-level)Status: Enabled- Click Save Category
Step 4: Verify Installation
Section titled “Step 4: Verify Installation”Check these indicators:
graph TD A[Installation Check] -->|Database| B[✓ Tables exist] A -->|Files| C[✓ Folders writable] A -->|Admin| D[✓ Module visible] A -->|Frontend| E[✓ Module displays]Database Check
Section titled “Database Check”mysql -u xoops_user -p xoops_databasemysql> SHOW TABLES LIKE 'publisher%';
# Should show tables:# - publisher_categories# - publisher_items# - publisher_comments# - publisher_filesFront-End Check
Section titled “Front-End Check”- Visit your XOOPS homepage
- Look for Publisher or News block
- Should display recent articles
Configuration After Installation
Section titled “Configuration After Installation”Editor Selection
Section titled “Editor Selection”Publisher supports multiple WYSIWYG editors:
| Editor | Pros | Cons |
|---|---|---|
| FCKeditor | Feature-rich | Older, larger |
| CKEditor | Modern standard | Config complexity |
| TinyMCE | Lightweight | Limited features |
| DHTML Editor | Basic | Very basic |
To change editor:
- Go to Preferences
- Scroll to Editor setting
- Select from dropdown
- Save and test
Upload Directory Setup
Section titled “Upload Directory Setup”# Create upload directoriesmkdir -p /path/to/xoops/uploads/publisher/mkdir -p /path/to/xoops/uploads/publisher/categories/mkdir -p /path/to/xoops/uploads/publisher/images/mkdir -p /path/to/xoops/uploads/publisher/files/
# Set permissionschmod 755 /path/to/xoops/uploads/publisher/chmod 755 /path/to/xoops/uploads/publisher/*Configure Image Sizes
Section titled “Configure Image Sizes”In Preferences, set thumbnail sizes:
Category image size: 300 x 200 pxArticle image size: 600 x 400 pxThumbnail size: 150 x 100 pxPost-Installation Steps
Section titled “Post-Installation Steps”1. Set Group Permissions
Section titled “1. Set Group Permissions”- Go to Permissions in admin menu
- Configure access for groups:
- Anonymous: View only
- Registered Users: Submit articles
- Editors: Approve/edit articles
- Admins: Full access
2. Configure Module Visibility
Section titled “2. Configure Module Visibility”- Go to Blocks in XOOPS admin
- Find Publisher blocks:
- Publisher - Latest Articles
- Publisher - Categories
- Publisher - Archives
- Configure block visibility per page
3. Import Test Content (Optional)
Section titled “3. Import Test Content (Optional)”For testing, import sample articles:
- Go to Publisher Admin → Import
- Select Sample Content
- Click Import
4. Enable SEO URLs (Optional)
Section titled “4. Enable SEO URLs (Optional)”For search-friendly URLs:
- Go to Preferences
- Set SEO URLs: Yes
- Enable .htaccess rewriting
- Verify
.htaccessfile exists in Publisher folder
# .htaccess example<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /modules/publisher/ RewriteRule ^category/([0-9]+)-(.*)\.html$ index.php?op=showcategory&categoryid=$1 [L] RewriteRule ^article/([0-9]+)-(.*)\.html$ index.php?op=showitem&itemid=$1 [L]</IfModule>Troubleshooting Installation
Section titled “Troubleshooting Installation”Problem: Module doesn’t appear in admin
Section titled “Problem: Module doesn’t appear in admin”Solution:
# Check file permissionsls -la /path/to/xoops/modules/publisher/
# Check xoops_version.php existsls /path/to/xoops/modules/publisher/xoops_version.php
# Verify PHP syntaxphp -l /path/to/xoops/modules/publisher/xoops_version.phpProblem: Database tables not created
Section titled “Problem: Database tables not created”Solution:
- Check MySQL user has CREATE TABLE privilege
- Check database error log:
Terminal window mysql> SHOW WARNINGS; - Manually import SQL:
Terminal window mysql -u user -p database < modules/publisher/sql/mysql.sql
Problem: File upload fails
Section titled “Problem: File upload fails”Solution:
# Check directory exists and is writablestat /path/to/xoops/uploads/publisher/
# Fix permissionschmod 777 /path/to/xoops/uploads/publisher/
# Verify PHP settingsphp -i | grep upload_max_filesizeProblem: “Page not found” errors
Section titled “Problem: “Page not found” errors”Solution:
- Check
.htaccessfile is present - Verify Apache
mod_rewriteis enabled:Terminal window a2enmod rewritesystemctl restart apache2 - Check
AllowOverride Allin Apache config
Upgrade from Previous Versions
Section titled “Upgrade from Previous Versions”From Publisher 1.x to 2.x
Section titled “From Publisher 1.x to 2.x”-
Backup current installation:
Terminal window cp -r modules/publisher/ modules/publisher-backup/mysqldump -u user -p database > publisher-backup.sql -
Download Publisher 2.x
-
Overwrite files:
Terminal window rm -rf modules/publisher/unzip publisher-2.0.zip -d modules/ -
Run update:
- Go to Admin → Publisher → Update
- Click Update Database
- Wait for completion
-
Verify:
- Check all articles display correctly
- Verify permissions are intact
- Test file uploads
Security Considerations
Section titled “Security Considerations”File Permissions
Section titled “File Permissions”- Core files: 644 (readable by web server)- Directories: 755 (browseable by web server)- Upload directories: 755 or 777- Config files: 600 (not readable by web)Disable Direct Access to Sensitive Files
Section titled “Disable Direct Access to Sensitive Files”Create .htaccess in upload directories:
<FilesMatch "\.(php|phtml|php3|php4|php5|phtml)$"> Deny from all</FilesMatch>Database Security
Section titled “Database Security”# Use strong passwordALTER USER 'publisher_user'@'localhost' IDENTIFIED BY 'strong_password_here';
# Grant minimal permissionsGRANT SELECT, INSERT, UPDATE, DELETE ON publisher_db.* TO 'publisher_user'@'localhost';FLUSH PRIVILEGES;Verification Checklist
Section titled “Verification Checklist”After installation, verify:
- Module appears in admin modules list
- Can access Publisher admin section
- Can create categories
- Can create articles
- Articles display on front-end
- File uploads work
- Images display correctly
- Permissions are applied correctly
- Database tables created
- Cache directory is writable
Next Steps
Section titled “Next Steps”After successful installation:
- Read Basic Configuration Guide
- Create your first Article
- Set up Group Permissions
- Review Category Management
Support & Resources
Section titled “Support & Resources”- GitHub Issues: Publisher Issues
- XOOPS Forum: Community Support
- GitHub Wiki: Installation Help
#publisher #installation #setup #xoops #module #configuration