This project, which started as an exciting journey into the world of PHP at the early stage of my career, is currently on hold. It served as a great learning platform where I could explore and understand the intricacies of PHP development.
Since then, I've gained additional knowledge and developed new strategies that would likely necessitate a complete rethinking of this project's approach. If I were to pick this up again, a different approach or perhaps a suitable framework would be considered to enhance optimization and security.
In the meantime, I encourage others to take the lessons learned here and continue to explore and innovate. Thank you for your interest in this project.
This project is designed to be a simple, easy to use web content management system and user registration portal for World of Warcraft private servers powered by TrinityCore. This is project is a work in progress, community contributions are always welcome!
- Account creation page
- Easy to use and install
- A see who's online list that displays the players username, race, level and faction
- A "how to connect" page for the advantage of the users of the server
- Character search (Unfinished "armory")
- Server status
- CMS for editing posts/news on the website
- Forum (Working, but still requires more work.)
- Administration panel for editing server accounts without using the console
- Google Analytics, Ad and Auto Ads management. (Admin panel)
- Gallery
- The project currently requires that all Trinity and CMS databases are located on the same SQL Server. We currently do not support hosting your Characters, Auth, World, or BlizzlikeCMS databases on different servers.
- You have the ability to sudo on the CMS server and the TrinityCore server. You can host both TrinityCore and Blizzlike on the same machine, but it is not recommended
- You have some familiartiy with using Linux and have configured networking correctly. It is recommended that you use static IP addresses for your servers
- BlizzlikeCMS does not include it's own user accounts. It will connect to your TrinityCore Auth DB and use the existing user accounts from the Trinity server.
- The GM level of your Trinity user accounts will determine who can access the Admin Panel on the CMS.
- Log into the TrinityCore WoW SQL server and create a dedicated blizzlike db user account:
mysql
CREATE USER 'BLIZZLIKE_USER'@'BLIZZLIKE_SERVER_IP' IDENTIFIED BY 'SOME_PASSWORD';
- Create an empty Blizzlike CMS Database.
CREATE DATABASE BLIZZLIKE_DB_NAME DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
- Allow the Blizzlike user to have admin access to the DB server
GRANT ALL PRIVILEGES ON *.* TO 'BLIZZLIKE_USER'@'BLIZZLIKE_SERVER_IP' WITH GRANT OPTION;
- Install the project dependencies.
apt-get install -y mysql-client apache2 php php-gmp php-imagick php-mysql php-gd php-soap git
- Clone in the project repo into the Apache web server root.
git clone git@github.com:MariusTBjercke/BlizzlikeCMS.git /var/www/html
- Clean up file system permissions.
chown www-data:www-data /var/www/html -R
chmod 775 /var/www/html -R
chmod 777 /var/www/html/img
chmod 777 /var/www/html/config.php
- Add the PHP_GMP extension to php.ini
vi /etc/php/{PHP_Version}/apache2/php.ini
Add the following line anywhere inside:extension=php_gmp.so
- Restart the Apache webserver.
service apache2 restart
- From your computer. Open a web browser and navigate to http://BLIZZLIKE_SERVER_IP/install.php
- Use the database user you created in the SQL setup stage above.
Delete or move the file /var/www/html/install.php in order to keep your installation secure. Example:
rm /var/www/html/install.php
to delete the file.
mv /var/www/html/install.php /home/$USER/install.php
to move it into your home folder.
- Navigate to http://BLIZZLIKE_SERVER_IP/admin.php
- You will need to have a GM user in TrinityCore setup before you can log in here. If you do not have a GM user in TrinityCore yet, make sure you follow the steps outlined by the TrinityCore project https://trinitycore.atlassian.net/wiki/spaces/tc/pages/77971021/Final+Server+Steps
If you are going to edit the stylesheet/javascript files you are going to need Node.js installed as this project comes with watcher/sass scripts.**
- Setup Node.js by running the command
npm install
. - Next run
npm run watch
to start using the watcher. - Now you can edit the CSS and JS files located in the /src folder.
PS: This is still a work in progress, but I will try to update the project frequently.