Support #131
Installing Magento Via SSH
100%
Description
This article will outline a few different approaches to installing the latest version of Magento using the command-line shell via SSH.
We will cover how to install Magento with and without sample data, and how to install Magento in a subdirectory or the web root directory.
The web root directory simply means what immediately comes up when you access your domain, compared to a sub-directory install, which is how Magento is setup by default.
Using SSH is the easiest and fastest way to install Magento, especially when you’re trying to setup a store with sample data. Normally, that requires you to download about 45 MB worth of data and then re-upload it to your website. With SSH, we can take advantage of the connection of the server to grab the necessary files.
Latest Stable Release
The latest stable version of Magento is 1.7.0.2 (26.6 MB)
http://www.magentocommerce.com/downloads/assets/1.7.0.2/magento-1.7.0.2.tar.gz
The latest stable version of Magento Downloader (not Magento itself!) is 1.7.0.0 (45.6 KB)
http://www.magentocommerce.com/downloads/assets/1.7.0.0/magento-downloader-1.7.0.0.tar.gz
(The downloader will install the latest stable release of Magento Commerce.)
Installing Magento With The Full Download¶
- Installing Into The Website Document Root
wget http://www.magentocommerce.com/downloads/assets/1.7.0.2/magento-1.7.0.2.tar.gz tar -zxvf magento-1.7.0.2.tar.gz mv magento/* magento/.htaccess . chmod -R o+w media var chmod o+w app/etc
- Optionally delete the download file and empty directory from the extracted files:
rm -rf magento/ magento-1.7.0.2.tar.gz
Then simply follow through with the web-based installation process.
Installing Magento With The PEAR Downloader¶
Using the PEAR downloader is a convenient way to ensure that you install the latest version of Magento, as it provides a simple mechanism to install the latest stable version that is available. It is a small download and is updated less frequently than the full Magento package.
- Installing Into The Website Document Root
wget http://www.magentocommerce.com/downloads/assets/1.7.0.0/magento-downloader-1.7.0.0.tar.gz tar -zxvf magento-downloader-1.7.0.0.tar.gz rm -rf magento-downloader-1.7.0.0.tar.gz
Now load http://www.yourwebsite.com/downloader.php in your web browser.
- Installing into a Subdirectory
For this install you only need to replace SUBDIRECTORY below (two times) with the name of the subdirectory that you want Magento installed in.
mkdir SUBDIRECTORY cd SUBDIRECTORY wget http://www.magentocommerce.com/downloads/assets/1.7.0.0/magento-downloader-1.7.0.0.tar.gz tar -zxvf magento-downloader-1.7.0.0.tar.gz rm -rf magento-downloader-1.7.0.0.tar.gz
Now load http://www.yourwebsite.com/SUBDIRECTORY/downloader.php in your web browser.
Installing Magento With The Full Download & Sample Data¶
Installing Magento with sample data is useful if you want to familiarize yourself with Magento and see how categories and products are set up.
- Installing into the Root Web Directory
This is almost the same as above, except you don’t need to know the directory name. You will only have to replace DBHOST, DBNAME, DBUSER, and DBPASS.
wget http://www.magentocommerce.com/downloads/assets/1.7.0.2/magento-1.7.0.2.tar.gz tar -zxvf magento-1.7.0.2.tar.gz wget http://www.magentocommerce.com/downloads/assets/1.6.1.0/magento-sample-data-1.6.1.0.tar.gz tar -zxvf magento-sample-data-1.6.1.0.tar.gz mv magento-sample-data-1.6.1.0/media/* magento/media/ mv magento-sample-data-1.6.1.0/magento_sample_data_for_1.6.1.0.sql magento/data.sql mv magento/* magento/.htaccess* . chmod -R o+w media var mysql -h DBHOST -u DBUSER -pDBPASS DBNAME < data.sql chmod o+w var var/.htaccess app/etc rm -rf magento/ magento-sample-data-1.6.1.0/ magento-1.7.0.2.tar.gz magento-sample-data-1.6.1.0.tar.gz data.sql
Installing Magento With The PEAR Downloader & Sample Data¶
WARNING: This PEAR downloader & sample data info needs to be fixed... not working
Installing Magento with sample data is useful if you want to familiarize yourself with Magento and see how categories and products are set up.
- Installing into the Root Web Directory
This is almost the same as above, except you don’t need to know the directory name. You will only have to replace DBHOST, DBNAME, DBUSER, and DBPASS.
wget http://www.magentocommerce.com/downloads/assets/1.7.0.0/magento-downloader-1.7.0.0.tar.gz wget http://www.magentocommerce.com/downloads/assets/1.6.1.0/magento-sample-data-1.6.1.0.tar.gz tar -zxvf magento-downloader-1.7.0.0.tar.gz tar -zxvf magento-sample-data-1.6.1.0.tar.gz mv magento-sample-data-1.6.1.0/media/* magento/media/ mv magento-sample-data-1.6.1.0/magento_sample_data_for_1.6.1.0.sql magento/data.sql mv magento/* magento/.htaccess . chmod -R o+w media mysql -h DBHOST -u DBUSER -pDBPASS DBNAME < data.sql ./pear mage-setup . ./pear install magento-core/Mage_All_Latest-stable touch var/.htaccess | mkdir app/etc chmod o+w var var/.htaccess app/etc rm -rf downloader/pearlib/cache/* downloader/pearlib/download/* rm -rf magento/ magento-sample-data-1.6.1.0/ rm -rf magento-downloader-1.7.0.0.tar.gz magento-sample-data-1.6.1.0.tar.gz data.sql
- Installing into a Subdirectory
For this install, there are five things you will need to know before you copy and paste the SSH commands and run the install.
- Subdirectory name where Magento will be installed
- The database host name, localhost works for most
- The name of the database that Magento will use
- The username that has privileges to use the database
- The password for that user
Once you have that information, you’ll want to copy and paste the commands for the type of install you want and replace what’s there with the information from above. It’s best to copy this into notepad or something similar.
So that means you’ll be replacing the word SUBDIRECTORY below (two times) to the name of the subdirectory where you want Magento installed, and DBHOST, DBNAME, DBUSER, and DBPASS.
mkdir SUBDIRECTORY cd SUBDIRECTORY wget http://www.magentocommerce.com/downloads/assets/1.7.0.0/magento-downloader-1.7.0.0.tar.gz wget http://www.magentocommerce.com/downloads/assets/1.6.1.0/magento-sample-data-1.6.1.0.tar.gz tar -zxvf magento-downloader-1.7.0.0.tar.gz tar -zxvf magento-sample-data-1.6.1.0.tar.gz mv magento-sample-data-1.6.1.0/media/* magento/media/ mv magento-sample-data-1.6.1.0/magento_sample_data_for_1.6.1.0.sql magento/data.sql mv magento/* magento/.htaccess . chmod -R o+w media mysql -h DBHOST -u DBUSER -pDBPASS DBNAME < data.sql ./pear mage-setup . ./pear install magento-core/Mage_All_Latest-stable touch var/.htaccess | mkdir app/etc chmod o+w var var/.htaccess app/etc rm -rf downloader/pearlib/cache/* downloader/pearlib/download/* rm -rf magento/ magento-sample-data-1.6.1.0/ rm -rf magento-downloader-1.7.0.0.tar.gz magento-sample-data-1.6.1.0.tar.gz data.sql
Running the Web-Based Installer to Finish the Installation¶
After you have installed Magento via SSH, you can proceed through the web-based installer. You’ll use the same database details in that as well.
You can actually bypass the web-based installer and use the "Command Line Interface (CLI)": instead.
Alternatively, there’s an SSH script you can use that automates both the main steps of this article and the CLI installer.
Troubleshooting¶
- Permissions not correct/insufficient
In case not all permissions are set correctly, you can run these commands. The code highlighter is stripping the off the end. Should be {} backslash;
find . -type f -exec chmod 644 {} \; find . -type d -exec chmod 755 {} \;
which will give files the 644 and directories the 755 permissions respectively. While you can change the directories to 777, this should never be done. It is a big security risk.
- URL Not Accessible
As mentioned in this thread, if you receive an error message that says URL not accessible, you’ll want to remove the following lines:
./pear mage-setup . ./pear install magento-core/Mage_All_Latest-stable
After you’ve gone through the web-based installer, then you can run those two commands to upgrade Magento to the lastest version, or use Magento Connect.
- 404 Error On Sample Products
If you get a 404 error when clicking on a product from the main page, you’ll need to login the backend of Magento and go to:
System -> Cache Management
In the Catalog section, click on the Refresh button for Catalog Rewrites.
This will also fix the URL structure for the categories and rest of the products.
- Download An Archived Magento Connect Extension
If for some reason you need to download a Magento Connect extension archive from command line, use the following :
wget http://connect.magentocommerce.com/TYPE/get/EXTENSION_NAME-X.X.X.tgz
- TYPE must be replaced with real extension type(usually core or community)
- EXTENSION_NAME with real(machine readable) extension name
- X.X.X must be replaced with the real version number.
To retrieve real TYPE and the real machine readable EXTENSION_NAME simply look at it’s extension key and take into a count it’s format magento-TYPE/EXTENSION_NAME.
For example:
http://www.magentocommerce.com/extension/518/blank-theme
Extension key: magento-core/Interface_Frontend_Default_Blank
Version(at the time of writing): 1.4.1.1
Download URL:
wget http://connect.magentocommerce.com/core/get/Interface_Frontend_Default_Blank-1.4.1.1.tgz
Other example:
http://www.magentocommerce.com/extension/974/yoast-blank-seo-theme
Extension key: magento-community/Yoast_Blank_Seo_Theme
Version(at the time of writing): 1.4.1
Download URL:
wget http://connect.magentocommerce.com/community/get/Yoast_Blank_Seo_Theme-1.4.1.tgz
Guess it’s would be nice to have “Releases” tab with links and release notes at extension page? :-D
- Use PEAR to download and install Magento Connect Extension
If you also need some extension to be installed from command line, then use following:
./pear install EXTENSION_KEY
And refresh the cache System → Cache Management
This way extension will be properly deployed(i.e. app, frontend template/layout, etc. will be copied to it’s places) and activated.
If you simply need to download archived extension package for some reason, use following:
./pear download EXTENSION_KEY
NOTE: in order to have properly functioning ./pear command, your magento instance must be installed following one of the steps explained at this page.
No data to display