Because of its resource requirements and server limitations, Magento 2 might be difficult to install on shared hosting. If the hosting environment satisfies Magento's minimal criteria, it is feasible.
Pre-Installation Checklist
1. Verify Hosting Requirements:
- PHP version: 7.4+ (or the latest version supported by Magento).
- MySQL version: 5.7+ or MariaDB 10.4+.
- Elasticsearch: May not be available on shared hosting (required for Magento 2.4+).
- PHP Extensions:
intl
,soap
,bcmath
,gd
,mbstring
,xsl
,cURL
,zip
, etc. - Composer Support: Some shared hosting providers include Composer, or you can use it locally.
2. Secure FTP and Database Access:
- FTP credentials for uploading files.
- A database (MySQL/MariaDB) created through cPanel.
3. Magento Package:
- Download the Magento 2 ZIP file from the Magento Downloads page.
4. Domain or Subdomain:
- Ensure your domain or subdomain points to the shared hosting account.
Step-by-Step Installation
1. Upload Magento Files
- Download the Magento 2 ZIP package.
- Extract it locally and upload the contents to your server using FTP or cPanel's File Manager.
2. Set File Permissions
- After uploading, set the correct permissions:
Folders:
755
Files:644
- Some shared hosting environments might require additional permission adjustments for
pub
,var
, andgenerated
directories.
3. Create a Database
- Log in to cPanel.
- Go to MySQL Databases:
- Create a new database.
- Create a new user and assign it to the database with ALL PRIVILEGES.
4. Configure Magento Installation
Navigate to your domain or subdomain in a browser (e.g., https://yourdomain.com
).
The Magento Setup Wizard will start:
- Readiness Check: Ensure your hosting meets the requirements.
- Add Database Details: Enter the database name, username, and password.
Web Configuration:
- Specify the Base URL (e.g.,
https://yourdomain.com
). - Enable/disable HTTPS based on your SSL setup.
- Admin Account: Create an admin username, password, and email.
- Installation Path: Magento will configure itself.
5. Post-Installation Tasks
- Set File Permissions Again:
chmod -R 775 pub var generated
chmod u+x bin/magento
You may need to do this via SSH or ask your hosting provider for assistance.
- Run Indexers (Optional): If SSH access is available:
php bin/magento indexer:reindex
php bin/magento cache:flush
Without SSH, Magento automatically handles this after installation.
6. Fix Common Shared Hosting Issues
- Cron Jobs: Configure cron jobs via cPanel for Magento's background processes. Example:
*/5 * * * * php /home/username/public_html/bin/magento cron:run
- Elasticsearch Workaround: Magento 2.4+ requires Elasticsearch. If not available, use an earlier Magento version (like 2.3.x) or request Elasticsearch from your hosting provider.
Troubleshooting Tips
- Slow Performance: Shared hosting is limited in resources; consider upgrading to VPS or cloud hosting.
- Readiness Check Fails: Ensure all required PHP extensions are installed/enabled. Contact your hosting provider for assistance.
- Composer Errors: Use Composer locally to install dependencies, then upload the files to the server.
Magento 2 may work on shared hosting for small-scale stores or testing environments. For a production site, VPS or dedicated hosting is highly recommended for better performance, security, and scalability.
Top comments (0)