mirror of
https://github.com/nextcloud/documentation.git
synced 2026-01-04 10:46:21 +07:00
276 lines
12 KiB
ReStructuredText
276 lines
12 KiB
ReStructuredText
Windows 7 and Windows Server 2008
|
||
---------------------------------
|
||
|
||
.. note:: You must move the data directory outside of your public root (See
|
||
advanced install settings)
|
||
|
||
This section describes how to install ownCloud on Windows with :abbr:`IIS
|
||
(Internet Information Services)`.
|
||
|
||
It assumes that you have a vanilla, non-IIS enabled Windows
|
||
machine – Windows 7 or Server 2008. After enabling IIS, the steps are
|
||
essentially identical for Windows 7 and Windows Server 2008.
|
||
|
||
For installing ownCloud physical access or a remote desktop connection is
|
||
required. You should leverage MySQL as the backend database for ownCloud. If you
|
||
do not want to use MySQL, it is possible to use Postgres or SQLite instead.
|
||
Microsoft SQL Server is not yet support.
|
||
|
||
Enabling SSL is not yet covered by this section.
|
||
|
||
.. note:: If you make your desktop machine or server available outside of your
|
||
LAN, you must maintain it. Monitor the logs, manage the access, apply patches to
|
||
avoid compromising the system at large.
|
||
|
||
There are 4 primary steps to the installation, and then a 5th step
|
||
required for configuring everything to allow files larger than the
|
||
default 2MB.
|
||
|
||
#. Install IIS with CGI support – enable IIS on your Windows machine.
|
||
#. Install PHP – Grab, download and install PHP.
|
||
#. Install MySQL – Setup the MySQL server manager and enable ownCloud to create
|
||
an instance.
|
||
#. Install ownCloud – The whole reason we are here!
|
||
#. Configure upload sizes and timeouts to enable large file uploads – So that
|
||
you can upload larger files.
|
||
|
||
Activate IIS with CGI Support
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
Windows 7
|
||
^^^^^^^^^
|
||
|
||
#. Go to :guilabel:`Start --> Control Panel --> Programs`.
|
||
#. Under Programs and Features, there is link titled :guilabel:`Turn Windows Features on
|
||
and Off`. Click on it.
|
||
#. There is a box labeled Internet Information Services, expand it.
|
||
#. Expand World Wide Web Services and all the folders underneath.
|
||
#. Select the folders as illustrated in the picture below to get your IIS
|
||
server up and running.
|
||
|
||
.. figure:: ../images/win7features.jpg
|
||
:width: 250px
|
||
:align: center
|
||
:alt: Windows features required for ownCloud on Windows 7
|
||
:figclass: align-center
|
||
|
||
Windows Features required for ownCloud on Windows 7
|
||
|
||
You do not need an FTP server running, so you should tune
|
||
that feature off for your server. You definitely need the IIS Management
|
||
Console, as that is the easiest way to start, stop, restart you server,
|
||
as well as where you change certificate options and manage items like
|
||
file upload size. You must check the CGI box under Application
|
||
Development Features, because CGI is how you enable PHP on IIS.
|
||
|
||
You have to turn off WebDAV publishing or the Windows WebDAV
|
||
conflicts with the ownCloud WebDAV interface. This might already be
|
||
turned off for you, just make sure it stays that way. The common HTTP
|
||
features are the features you would expect from a web server.
|
||
With the selections on this page, IIS will now serve up a web page for you.
|
||
|
||
Restart IIS by going to the IIS manager (:guilabel:`Start --> IIS Manager`).
|
||
|
||
Select your website, and on the far right side is a section titled
|
||
:guilabel:`Manage Server`. Make sure that the service is started, or click
|
||
:guilabel:`Start` to start the services selected. Once this is complete, you
|
||
should be able to go to a web browser and navigate to http://localhost.
|
||
|
||
This should open the standard IIS 7 splash page, which is just a static image
|
||
that says your web server is running. Assuming you were able to get the
|
||
splash page, it is safe to say your web server is now up and running.
|
||
|
||
|
||
Windows Server 2008
|
||
^^^^^^^^^^^^^^^^^^^
|
||
|
||
#. Go to :guilabel:`Start --> Control Panel --> Programs`.
|
||
#. Under Programs and Features, there is link titled
|
||
:guilabel:`Turn Windows Features on and Off`. Click on it.
|
||
#. This will bring up the Server Manager.
|
||
#. In the server manager, Click on Roles, and then click Add Roles.
|
||
#. Use the :guilabel:`Add Roles Wizard` to add the web server role.
|
||
|
||
.. figure:: ../images/winserverroles.jpg
|
||
:width: 300px
|
||
:align: center
|
||
:alt: server roles required for owncloud
|
||
:figclass: align-center
|
||
|
||
Server roles required for ownCloud
|
||
|
||
6. Make sure that, at a minimum, the same boxes are checked in this wizard that
|
||
are checked in the Windows 7 Section. For example, make sure that the CGI box
|
||
is checked under Application Development Features, and that WebDAV Publishing
|
||
is turned off. With Remote Desktop Sharing turned on, the detailed role
|
||
service list looks like the figure “Role Services”.
|
||
7. Restart IIS by going to the IIS manager (:guilabel:`Start --> IIS Manager`).
|
||
8. Select your website, and on the far right side is a section titled Manage
|
||
server. Make sure that the service is started, or click “Start” to start the
|
||
services selected.
|
||
|
||
9. Once this is complete, you should be able to go to a web browser and type
|
||
`localhost`. This should open the standard IIS 7 splash page, which is just a
|
||
static image that says your web server is running.Assuming you were able to get
|
||
the splash page, it is safe to say your web server is now up and running. The
|
||
next part of this “how to” installs PHP on the server.
|
||
|
||
Installing PHP
|
||
~~~~~~~~~~~~~~
|
||
|
||
This part is also straightforward, but it is necessary to remind you that this
|
||
is for IIS only.
|
||
|
||
1. Go to the following link and grab the `PHP installer
|
||
<http://windows.php.net/download/>`_ for version "VC9 Non Thread Safe" 32 or
|
||
64 bit based on your system.
|
||
|
||
.. note:: If you are using Apache, make sure you grab VC6 instead, lower on the page.
|
||
|
||
2. Once through that login, select the location that is closest to you
|
||
geographically.
|
||
3. Run that install wizard once it is downloaded. Read the license agreement,
|
||
agree, select an install directory.
|
||
4. Then select IIS FastCGI as the install server.
|
||
5. Take the default selections for the items to install, and click next.
|
||
Then click `install`.
|
||
6. After a few minutes, PHP will be installed. On to MySQL.
|
||
|
||
Installing MySQL
|
||
~~~~~~~~~~~~~~~~
|
||
|
||
This part installs MySQL on your Windows machine.
|
||
|
||
#. Point your browser to http://dev.mysql.com/downloads/ and download the latest
|
||
community edition for your OS – the 32 or 64 bit version. Please download the
|
||
**MSI Installer** as it will make life easier.
|
||
#. Once downloaded, install MySQL (5.5 at the time of writing). Select the
|
||
Typical installation.
|
||
#. When that finishes, check the box to launch the MySQL Instance Configuration
|
||
Wizard and click Finish.
|
||
#. Select a standard configuration, as this will be the only version of MySQL on
|
||
this machine.
|
||
#. Select to install as a windows service, and Check the Launch the MySQL Server
|
||
Automatically button.
|
||
#. Select the modify security settings box on the next page, and enter a
|
||
password you will remember. You will need this password when you configure
|
||
ownCloud.
|
||
#. Uncheck **enable** root access from remote machines” for security reasons.
|
||
#. Click execute, and wait while the instance is created and launched.
|
||
#. Click Finish when this is all complete.
|
||
|
||
.. You can make some pretty good educated guesses on the type of install needed for ownCloud. %% That's not really useful, clarify!
|
||
|
||
Take particular note of your MySQL password, as the user name **root**
|
||
and the password you select will be necessary alter on in the ownCloud
|
||
installation. As an aside, this link is an excellent resource for questions on
|
||
how to configure your MySQL instance, and also to configure PHP to work with
|
||
MySQL. This, however, is not strictly necessary as much of this is handled when
|
||
you download ownCloud.
|
||
|
||
More information in this topic can be found in a `tutorial on the IIS web site`_.
|
||
|
||
.. _tutorial on the IIS web site:
|
||
http://learn.iis.net/page.aspx/353/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/
|
||
|
||
Installing ownCloud
|
||
~~~~~~~~~~~~~~~~~~~
|
||
|
||
1. Download the latest version of ownCloud from http://owncloud.org/download.
|
||
2. It will arrive as a tar.bz2 file, and I recommend something like jZip for a
|
||
free utility to unzip it.
|
||
3. Once you have the ownCloud directory unzipped and saved locally, copy it into
|
||
your wwwroot directory (probably **C:\\inetpub\\wwwroot**).
|
||
|
||
.. note:: You cannot install directly into the directory **wwwroot** from jzip,
|
||
as only the administrator can unzip into the **wwwroot** directory. If you save
|
||
it in a different folder, and then move the files into **wwwroot** in windows
|
||
explorer, it works. This will install ownCloud locally in your root web
|
||
directory. You can use a subdirectory called owncloud, or whatever you want –
|
||
the www root, or something else.
|
||
|
||
4. It is now time to give write access to the ownCloud directory to the ownCloud
|
||
server: Navigate your windows explorer over to **inetpub/wwwroot/owncloud** (or
|
||
your installation directory if you selected something different).
|
||
5. Right click and select properties. Click on the security tab, and click the
|
||
button “to change permissions, click edit”.
|
||
6. Select the “users” user from the list, and check the box “write”.
|
||
7. Apply these settings and close out.
|
||
8. Now open your browser and go to http://localhost/owncloud (or localhost if it
|
||
is installed in the root www directory). This should bring up the ownCloud
|
||
configuration page.
|
||
9. At this page, you enter your desired ownCloud user name and password for the
|
||
administrator, and expand the little arrow.
|
||
10. Select MySQL as the database, and enter your MySQL database user name,
|
||
password and desired instance name – use the user name and password you setup
|
||
for MySQL earlier in step 3, and pick any name for the database instance.
|
||
|
||
.. note:: The owncloud admin password and the MySQL password CANNOT be the same
|
||
in any way.
|
||
|
||
11. Click next, and ownCloud should have you logged in as the admin user, and
|
||
you can get started exploring ownCloud, creating other users and more!
|
||
|
||
Ensure Proper HTTP-Verb handling
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
IIS must pass all HTTP and WebDAV verbs to the PHP/CGI handler, and must not try
|
||
to handle them by itself. If it does, syncing with the Desktop and Mobile
|
||
Clients will fail. Here is how to ensure your configuration is correct:
|
||
|
||
#. Open IIS Manager7.
|
||
#. In the `Connections` bar, pick your site below `Sites`, or choose the top
|
||
level entry if you want to modify the machine-wide settings.
|
||
#. Choose the `Handler Mappings` feature click `PHP_via_fastCGI`.
|
||
#. Choose `Request Restrictions` and find the `Verbs` tab.
|
||
#. Ensure `All Verbs` is checked.
|
||
#. Click `OK`.
|
||
#. Next, choose `Request Filtering` feature from IIS Manager.
|
||
#. Ensure that all verbs are permitted (or none are forbidden) in the `Verbs`
|
||
tab.
|
||
|
||
Also, ensure that you did not enable the WebDAV authoring module, since ownCloud
|
||
needs to be able to handle WebDAV on the application level.
|
||
|
||
|
||
Configuring ownCloud, PHP and IIS for Large File Uploads
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
Before going too nuts on ownCloud, it is important to do a couple of
|
||
configuration changes to make this a useful service for you. You will probably
|
||
want to increase the **max upload size**, for example. The default upload is
|
||
set to **2MB**, which is too small for even most MP3 files.
|
||
|
||
To do that, simply go into your **PHP.ini** file, which can be found in your
|
||
**C:\\Program Files (x86)\\PHP** folder. In here, you will find a **PHP.ini**
|
||
file. Open this in a text editor, and look for a few key attributes to
|
||
change:
|
||
|
||
+ **upload_max_filesize** – change this to something good, like 1G, and you
|
||
will get to upload much larger files.
|
||
+ **post_max_size** – also change this size, and make it larger than the max
|
||
upload size you chose, like 1G.
|
||
|
||
There are other changes you can make, such as the timeout duration for
|
||
uploads, but for now you should be all set in the **PHP.ini** file.
|
||
|
||
Now you have to go back to IIS manager and make one last change to enable file
|
||
uploads on the web server larger than 30MB.
|
||
|
||
1. Go to the start menu, and type **iis manager**.
|
||
2. Open IIS Manager Select the website you want enable to accept large file
|
||
uploads.
|
||
3. In the main window in the middle double click on the icon **Request
|
||
filtering**.
|
||
4. Once the window is opened you will see a bunch of tabs across the top of the
|
||
far right,
|
||
|
||
Select :guilabel:`Edit Feature Settings` and modify the :guilabel:`Maximum
|
||
allowed content length (bytes)`
|
||
|
||
5. In here, you can change this to up to 4.1 GB.
|
||
|
||
.. note:: This entry is in BYTES, not KB.
|
||
|
||
You should now have ownCloud configured and ready for use.
|