Temporary set 777 -R on pub/static folder and test. If works set 755 -R on pub/static folder.
Success!
At long last, I believe I have a working install.
After checking around on forums for the CSS issue, I found some recommendations to chmod various folders within pub/static. When I checked my installation, the only folder in pub/static was _requirejs, and not the important-looking adminhtml and frontend folders.
For this, I also found a solution online - executing the following command from the installation folder:
php bin/magento setup:static-content:deploy
This generated the adminhtml and front-end folders. Now the browser displayed a permissions message when attempting to view the missing files.
The final step was to set permissions on all content in pub/static:
chmod 755 -R pub/static
My magento installation now looks to be functional.
I'm going to follow up this post with the full and final set of instructions to get Magento 2 working, but for god's sake Magento, pull this release or fix it already. I have nothing against alpha releases so long as they're labeled as such, but this is absolutely terrible.
Installation Instructions
I had a lot of problems installing Magento 2. It took me many days and some assistance to get it working. Below is the set of instructions that I followed to a working installation.
Special thanks to @maddyC, as well as countless contributors on other forums whose content made it possible for me to piece this together.
--------------------------------------------------------------------------------
Requirements
I'm sorry if this is no help to those of you on shared servers with no SSH access. The installation should not be this complex.
--------------------------------------------------------------------------------
Preparation
1. Edit etc/php5/apache2/php.ini
Set max_execution_time = 18000
--------------------------------------------------------------------------------
Installation
1. Download Magento Community Edition
In my installation, I'm using the download that includes sample data. You can use whatever you like, but for the purposes of this example, my filename is:
Magento-CE-2.0.0_Samples.tar.bz2
2. Upload .tar.bz2 to your desired installation folder. I'm installing to my web root on Ubuntu 15.10, so the location is:
/var/www/html/Magento-CE-2.0.0_Samples.tar.bz2
3. Using the command line, navigate to the installation folder.
cd /var/www/html
We will execute all commands from this location. Very important.
3. Extract the contents of the compressed file.
tar jxf Magento-CE-2.0.0_Samples.tar.bz2
4. Move the compressed file out of the installation directory (or delete it, your choice).
mv Magento-CE-2.0.0_Samples.tar.bz2 /var/www/Magento-CE-2.0.0_Samples.tar.bz2
5. While still in the magento installation directory, set ownership to apache, which in Ubuntu 15.10 is:
chown -R :www-data .
^ Don't forget the space and dot (.) at the end. Very important.
6. Set permissions
sudo find . -type d -exec chmod 770 {} \; && sudo find . -type f -exec chmod 660 {} \; && sudo chmod u+x bin/magento
7. Make the required directories writable
chmod 755 -R app/etc chmod 755 -R var chmod 755 -R pub
8. Enable debug mode by editing the magento root .htaccess file. Remove the comment on the following line:
SetEnv MAGE_MODE developer
9. Execute the setup:install command, the general format of which is:
bin/magento setup:install --backend-frontname="[folder name you want for the admin directory]" --key="[your encryption key]" --db-host="localhost" --db-name="[your database name]" --db-user="[database user with permissions on the specified database]" --db-password="[db user password]" --base-url="[the URL to the current location, followed by a slash]" --admin-user="[the username you would like for the admin user]" --admin-password="[the password you would like for the admin user]" --admin-email="[your email address]" --admin-firstname="[your first name]" --admin-lastname="[your last name]" --use-sample-data
--key is optional. Magento uses an encryption key to keep data safe and if you don't specify one it will generate one.
--use-sample-data is only required if you want to load your store with sample data (which I do)
So the actual command I execute is:
bin/magento setup:install --backend-frontname="admin" --key="XXXX" --db-host="localhost" --db-name="mage" --db-user="mageuser" --db-password="XXXX" --base-url="http://23.253.57.183/" --admin-user="admin" --admin-password="XXXX" --admin-email="XXXX@gmail.com" --admin-firstname="Admin" --admin-lastname="Test" --use-sample-data
The process takes a moment to complete, then a success message is displayed:
[Progress: 362 / 362] [SUCCESS]: Magento installation complete. [SUCCESS]: Magento Admin URI: /admin
But we're not done yet. At this point, visiting the store URL will display a blank page or an error. So we continue.
10. Disable maintenance mode.
bin/magento maintenance:disable
11. Edit app/etc/di.xml.
Locate the element named "developerMaterialization" and, within it, the element named "view_preprocessed".
Change the contents from
Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink
to
Magento\Framework\App\View\Asset\MaterializationStrategy\Copy
12. Execute the static content deploy command.
php bin/magento setup:static-content:deploy
13. Set permissions on all content in pub/static
chmod 755 -R pub/static
You should now be able to view your magento website and sign in to the back end.
--------------------------------------------------------------------------------
I really hope Magento cleans this up so installation can complete in a simpler and more sane manner.
Hopefully this helps a few people.
Good Luck!!
I decided to give up!
Can you be more specific about what you tried? You just posted 2 items in the forum without any explaination of what problems did you run into? For starters did you try the installation via git? create-composer or downloaded a zip file from magento.com
First I tried downloading CE2.0.0 with sample data and using the regular web installer but that gets to 90% and fails. Apparently you know this but haven't removed the download, so 6 hours of my time wasted, fiddling with php.ini settings and file permissions, 4x deleted and started from scratch until I gave up.
Then I decided to install the non-sample data version and that eventually worked. But then I tried using composer (installed specially for this task). Failed miserably, tried composer update and that just throws an error Installing data.. Segmentation fault and now again I have a broken installation that I will have to delete.
Hi,
I'm stuck at the "css missing" point. Anyone knows a way to deploy static content on a shared hosting without SSH access?
Thanks
Hi,
Maddy I tried to install magento 2 several times after trying different things including changing permission and deleting maintenance.flag file. I stuck at 90% every time nothing changed:
see error log: https://shrib.com/BBFlCJQN4hJK1du?v=nc
I'd try to get a single /subfolder/test.php script running on a apache webserver as-per magento files & permission guidance. First off! Sort of learning how to delegate ownership with recursive perms (chown, chmod), and getting the webserver's user/group to manipulate the owner's files in a controlled manner. Nothing to do with 777.. at all in fact.
Only when you'll have understood the hierarchy and put it into practice, it should then become a joy to install Magento. And to manage it, don't forget.
ps. according to the official guidance, there is only one way to install magento (permission-wise). You guys might want to get this done correctly from the beginning. http://devdocs.magento.com/guides/v2.0/install-gde/install/file-system-perms.html