{"action":"created","comment":{"url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/pulls/comments/66138502","id":66138502,"diff_hunk":"@@ -0,0 +1,269 @@\n+====================================================\n+Step-by-step guide to deploy WordPress on DreamCompute\n+====================================================\n+\n+Preparation\n+~~~~~~~~~~~~\n+\n+In this tutorial we are going to install WordPress on a DreamCompute\n+instance, including both the application itself and the database it uses.\n+We'll install and configure all necessary components without making use of\n+automatic configuration management systems. \n+\n+This example will use an Ubuntu virtual machine, but you can use whichever\n+flavor of linux you prefer. As long as you can install Apache, PHP, and\n+database software, WordPress will be able to run.\n+\n+Whichever machine type you pick, remember it's better to boot volume backed \n+instances as they are permanent as opposed to ephemeral disks.\n+\n+Installing LAMP\n+~~~~~~~~~~~~~~~\n+\n+While you certainly can install everything on it's own, the LAMP stack for\n+Ubuntu is perfect for WordPress. If necessary, you can follow the directions\n+on `how to configure LAMP <215879467-How-to-Configure-LAMP-on-DreamCompute-running-Debian-or-Ubuntu>`_ but the overview\n+is as follows:\n+\n+.. code::\n+\n+    sudo apt-get install lamp-server^\n+\n+This is interactive, so you’ll be asked ‘are you sure?’ in some places, and in others it will want a password for SQL. Make up a secure password for SQL and save it as you will need this later to set up SQL for WordPress.\n+\n+After it runs, you’ll want to add mod_rewrite so WordPress can make pretty pages:\n+\n+.. code::\n+\n+    sudo a2enmod rewrite\n+\n+Finally restart apache:\n+\n+.. code::\n+\n+    sudo service apache2 restart\n+\n+At this point, your server will be accessible via its IP address.\n+\n+Create a User\n+~~~~~~~~~~~~~\n+\n+While it's not required to make a separate user ID for WordPress, it's strongly recommended for security. Having a user who only has access to the one website will limit the havoc caused should that account be hacked. This also limits the danger caused by rogue plugins or themes. The server itself will be safe, containing the damage just to that user account.\n+\n+To do this, we make a folder for the website:\n+\n+.. code::\n+\n+    sudo mkdir /var/www/example.com\n+\n+And we create a user and give them access:\n+\n+.. code::\n+\n+    sudo adduser wp_example\n+    sudo adduser wp_example www-data\n+    sudo chown -R wp_example:www-data /var/www/example.com/\n+\n+The reason we add the users to the www-data group is to allow Ubuntu to properly manage WordPress updates and images.\n+\n+Add SSH Access\n+~~~~~~~~~~~~~~\n+\n+WordPress users often need SSH access in order to do extra configuration with WordPress. By default, this is disabled, so you will need to edit your config\n+\n+If you need SSH access","path":"source/dreamcompute/tutorials/deploy-wordpress-on-dreamcompute.rst","position":74,"original_position":74,"commit_id":"689cb8437ef4d846cc6f4393e48ae8d120369395","original_commit_id":"689cb8437ef4d846cc6f4393e48ae8d120369395","user":{"login":"justinknierim","id":10944623,"avatar_url":"https://avatars.githubusercontent.com/u/10944623?v=3","gravatar_id":"","url":"https://api.github.com/users/justinknierim","html_url":"https://github.com/justinknierim","followers_url":"https://api.github.com/users/justinknierim/followers","following_url":"https://api.github.com/users/justinknierim/following{/other_user}","gists_url":"https://api.github.com/users/justinknierim/gists{/gist_id}","starred_url":"https://api.github.com/users/justinknierim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinknierim/subscriptions","organizations_url":"https://api.github.com/users/justinknierim/orgs","repos_url":"https://api.github.com/users/justinknierim/repos","events_url":"https://api.github.com/users/justinknierim/events{/privacy}","received_events_url":"https://api.github.com/users/justinknierim/received_events","type":"User","site_admin":false},"body":"is there some new line weirdness going on here perhaps?  Seems like \"If you need SSH access\" and the next line having \"apparently not\" are odd.","created_at":"2016-06-07T19:41:25Z","updated_at":"2016-06-07T19:41:25Z","html_url":"https://github.com/dreamhost/dreamcloud-docs/pull/34#discussion_r66138502","pull_request_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/pulls/34","_links":{"self":{"href":"https://api.github.com/repos/dreamhost/dreamcloud-docs/pulls/comments/66138502"},"html":{"href":"https://github.com/dreamhost/dreamcloud-docs/pull/34#discussion_r66138502"},"pull_request":{"href":"https://api.github.com/repos/dreamhost/dreamcloud-docs/pulls/34"}}},"pull_request":{"url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/pulls/34","id":72934117,"html_url":"https://github.com/dreamhost/dreamcloud-docs/pull/34","diff_url":"https://github.com/dreamhost/dreamcloud-docs/pull/34.diff","patch_url":"https://github.com/dreamhost/dreamcloud-docs/pull/34.patch","issue_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/issues/34","number":34,"state":"open","locked":false,"title":"Article on WordPress on DreamCompute","user":{"login":"Ipstenu","id":807903,"avatar_url":"https://avatars.githubusercontent.com/u/807903?v=3","gravatar_id":"","url":"https://api.github.com/users/Ipstenu","html_url":"https://github.com/Ipstenu","followers_url":"https://api.github.com/users/Ipstenu/followers","following_url":"https://api.github.com/users/Ipstenu/following{/other_user}","gists_url":"https://api.github.com/users/Ipstenu/gists{/gist_id}","starred_url":"https://api.github.com/users/Ipstenu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ipstenu/subscriptions","organizations_url":"https://api.github.com/users/Ipstenu/orgs","repos_url":"https://api.github.com/users/Ipstenu/repos","events_url":"https://api.github.com/users/Ipstenu/events{/privacy}","received_events_url":"https://api.github.com/users/Ipstenu/received_events","type":"User","site_admin":false},"body":"Proposed KB article for using WordPress on DreamCompute.\r\n\r\nI cede all grumpy ownership rights of this document. Edit and fix and play and tweak as needed to meet your formatical and contentical needs.","created_at":"2016-06-07T19:31:46Z","updated_at":"2016-06-07T19:41:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"78298323dffaa4ecf4c76d65d890b455ecf52573","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/pulls/34/commits","review_comments_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/pulls/34/comments","review_comment_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/issues/34/comments","statuses_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/statuses/689cb8437ef4d846cc6f4393e48ae8d120369395","head":{"label":"Ipstenu:master","ref":"master","sha":"689cb8437ef4d846cc6f4393e48ae8d120369395","user":{"login":"Ipstenu","id":807903,"avatar_url":"https://avatars.githubusercontent.com/u/807903?v=3","gravatar_id":"","url":"https://api.github.com/users/Ipstenu","html_url":"https://github.com/Ipstenu","followers_url":"https://api.github.com/users/Ipstenu/followers","following_url":"https://api.github.com/users/Ipstenu/following{/other_user}","gists_url":"https://api.github.com/users/Ipstenu/gists{/gist_id}","starred_url":"https://api.github.com/users/Ipstenu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ipstenu/subscriptions","organizations_url":"https://api.github.com/users/Ipstenu/orgs","repos_url":"https://api.github.com/users/Ipstenu/repos","events_url":"https://api.github.com/users/Ipstenu/events{/privacy}","received_events_url":"https://api.github.com/users/Ipstenu/received_events","type":"User","site_admin":false},"repo":{"id":58070311,"name":"dreamcloud-docs","full_name":"Ipstenu/dreamcloud-docs","owner":{"login":"Ipstenu","id":807903,"avatar_url":"https://avatars.githubusercontent.com/u/807903?v=3","gravatar_id":"","url":"https://api.github.com/users/Ipstenu","html_url":"https://github.com/Ipstenu","followers_url":"https://api.github.com/users/Ipstenu/followers","following_url":"https://api.github.com/users/Ipstenu/following{/other_user}","gists_url":"https://api.github.com/users/Ipstenu/gists{/gist_id}","starred_url":"https://api.github.com/users/Ipstenu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ipstenu/subscriptions","organizations_url":"https://api.github.com/users/Ipstenu/orgs","repos_url":"https://api.github.com/users/Ipstenu/repos","events_url":"https://api.github.com/users/Ipstenu/events{/privacy}","received_events_url":"https://api.github.com/users/Ipstenu/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Ipstenu/dreamcloud-docs","description":"Documentation for users of all DreamHost Cloud products (DreamCompute, DreamObjects, etc). Aimed at developers who wish to learn how to use DreamHost Cloud standard APIs (based on OpenStack) to automate common tasks.","fork":true,"url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs","forks_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/forks","keys_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/teams","hooks_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/hooks","issue_events_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/issues/events{/number}","events_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/events","assignees_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/assignees{/user}","branches_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/branches{/branch}","tags_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/tags","blobs_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/languages","stargazers_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/stargazers","contributors_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/contributors","subscribers_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/subscribers","subscription_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/subscription","commits_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/contents/{+path}","compare_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/merges","archive_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/downloads","issues_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/issues{/number}","pulls_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/labels{/name}","releases_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/releases{/id}","deployments_url":"https://api.github.com/repos/Ipstenu/dreamcloud-docs/deployments","created_at":"2016-05-04T17:19:57Z","updated_at":"2016-05-04T17:19:58Z","pushed_at":"2016-06-07T19:29:57Z","git_url":"git://github.com/Ipstenu/dreamcloud-docs.git","ssh_url":"git@github.com:Ipstenu/dreamcloud-docs.git","clone_url":"https://github.com/Ipstenu/dreamcloud-docs.git","svn_url":"https://github.com/Ipstenu/dreamcloud-docs","homepage":"https://www.dreamhost.com/cloud","size":27263,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dreamhost:master","ref":"master","sha":"27a7da34deb914a5163e1ee2554d70f0bab69284","user":{"login":"dreamhost","id":1339138,"avatar_url":"https://avatars.githubusercontent.com/u/1339138?v=3","gravatar_id":"","url":"https://api.github.com/users/dreamhost","html_url":"https://github.com/dreamhost","followers_url":"https://api.github.com/users/dreamhost/followers","following_url":"https://api.github.com/users/dreamhost/following{/other_user}","gists_url":"https://api.github.com/users/dreamhost/gists{/gist_id}","starred_url":"https://api.github.com/users/dreamhost/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dreamhost/subscriptions","organizations_url":"https://api.github.com/users/dreamhost/orgs","repos_url":"https://api.github.com/users/dreamhost/repos","events_url":"https://api.github.com/users/dreamhost/events{/privacy}","received_events_url":"https://api.github.com/users/dreamhost/received_events","type":"Organization","site_admin":false},"repo":{"id":41562041,"name":"dreamcloud-docs","full_name":"dreamhost/dreamcloud-docs","owner":{"login":"dreamhost","id":1339138,"avatar_url":"https://avatars.githubusercontent.com/u/1339138?v=3","gravatar_id":"","url":"https://api.github.com/users/dreamhost","html_url":"https://github.com/dreamhost","followers_url":"https://api.github.com/users/dreamhost/followers","following_url":"https://api.github.com/users/dreamhost/following{/other_user}","gists_url":"https://api.github.com/users/dreamhost/gists{/gist_id}","starred_url":"https://api.github.com/users/dreamhost/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dreamhost/subscriptions","organizations_url":"https://api.github.com/users/dreamhost/orgs","repos_url":"https://api.github.com/users/dreamhost/repos","events_url":"https://api.github.com/users/dreamhost/events{/privacy}","received_events_url":"https://api.github.com/users/dreamhost/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dreamhost/dreamcloud-docs","description":"Documentation for users of all DreamHost Cloud products (DreamCompute, DreamObjects, etc). Aimed at developers who wish to learn how to use DreamHost Cloud standard APIs (based on OpenStack) to automate common tasks.","fork":false,"url":"https://api.github.com/repos/dreamhost/dreamcloud-docs","forks_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/forks","keys_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/teams","hooks_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/hooks","issue_events_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/issues/events{/number}","events_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/events","assignees_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/assignees{/user}","branches_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/branches{/branch}","tags_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/tags","blobs_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/languages","stargazers_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/stargazers","contributors_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/contributors","subscribers_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/subscribers","subscription_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/subscription","commits_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/contents/{+path}","compare_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/merges","archive_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/downloads","issues_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/issues{/number}","pulls_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/labels{/name}","releases_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/releases{/id}","deployments_url":"https://api.github.com/repos/dreamhost/dreamcloud-docs/deployments","created_at":"2015-08-28T18:11:40Z","updated_at":"2016-04-22T01:14:37Z","pushed_at":"2016-06-07T19:31:46Z","git_url":"git://github.com/dreamhost/dreamcloud-docs.git","ssh_url":"git@github.com:dreamhost/dreamcloud-docs.git","clone_url":"https://github.com/dreamhost/dreamcloud-docs.git","svn_url":"https://github.com/dreamhost/dreamcloud-docs","homepage":"https://www.dreamhost.com/cloud","size":29512,"stargazers_count":1,"watchers_count":1,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":6,"mirror_url":null,"open_issues_count":2,"forks":6,"open_issues":2,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dreamhost/dreamcloud-docs/pulls/34"},"html":{"href":"https://github.com/dreamhost/dreamcloud-docs/pull/34"},"issue":{"href":"https://api.github.com/repos/dreamhost/dreamcloud-docs/issues/34"},"comments":{"href":"https://api.github.com/repos/dreamhost/dreamcloud-docs/issues/34/comments"},"review_comments":{"href":"https://api.github.com/repos/dreamhost/dreamcloud-docs/pulls/34/comments"},"review_comment":{"href":"https://api.github.com/repos/dreamhost/dreamcloud-docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dreamhost/dreamcloud-docs/pulls/34/commits"},"statuses":{"href":"https://api.github.com/repos/dreamhost/dreamcloud-docs/statuses/689cb8437ef4d846cc6f4393e48ae8d120369395"}}}}
{"actor":{"display_login":"justinknierim"}}