Files
nextcloud-docs/admin_manual/installation/windows_installation.rst
2014-11-17 19:21:51 -08:00

355 lines
13 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Windows 7 and Windows Server 2008
=================================
.. note:: While ownCloud will run in any standard PHP environment,
including IIS or Apache on Windows, there are known issues.
For the basic sync and share capabilities of ownCloud, Windows
web servers (Apache and IIS) will function properly. However,
as apps like external storage are added, particularly SMB mounts,
and non-English characters are used in filenames, some of the known
Windows and IIS/Apache challenges start to appear as bugs.
ownCloud is not supported on the Internet Server Application
Programming Interface (ISAPI).
Microsoft SQL Server is not supported.
For these reasons, while ownCloud server will run on Windows, it is
not recommended at this time.
.. note:: You must move the data directory outside of your public root (See
advanced installation settings)
This section describes how to install ownCloud on Windows with :abbr:`IIS
(Internet Information Services)`.
These instructions assume that you have a standard, non-IIS enabled Windows
machine using Windows 7 or Server 2008. After enabling IIS, the procedures are
essentially identical for both Windows 7 and Windows Server 2008.
For installation, ownCloud physical access or a remote desktop connection is
required. We recommend that you leverage MySQL as the backend database for
ownCloud. If you do not want to use MySQL, you can use Postgres or SQLite
instead. However, Microsoft SQL Server is not yet supported.
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. Make sure to monitor the logs, manage the access,
and apply patches to avoid compromising the system as a whole.
There are four primary steps to the installation, and then an added fifth step
required for configuring everything to allow files larger than the
default 2 MB size.
1. Install IIS with CGI support enable IIS on your Windows machine.
2. Install PHP Grab, download and install PHP.
3. Install MySQL Setup the MySQL server manager and enable ownCloud to create
an instance.
4. Install ownCloud The whole reason we are here!
5. Configure upload sizes and timeouts to enable large file uploads So that
you can upload larger files.
Activate IIS with CGI Support
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Windows 7
^^^^^^^^^
To activate IIS on Microsoft Windows 7:
1. Navigate to :guilabel:`Start --> Control Panel --> Programs`.
2. Under Programs and Features, click on the link entitled :guilabel:`Turn
Windows Features on and Off`.
3. Expand the box labeled :guilabel:`Internet Information Services`.
4. Expand ``World Wide Web Services`` and all of the folders beneath it.
5. Select the folders as shown in the image below to launch the IIS server.
.. 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**
6. Because a running FTP server is not required, turn off that feature for your
server.
7. Ensure that you have the IIS Management Console. An IIS management console
is the easiest way to start, stop, and restart your server. This console
also enables you to change certificate options and manage items like
file upload size.
8. Check the CGI checkbox under ``Application Development Features`` in order to
enable PHP on IIS.
9. Turn off WebDAV publishing to avoid conflicts between the Windows WebDAV and
the ownCloud WebDAV interface.
.. note:: This feature might already be turned off for you. However, we
recommend that you ensure that it remains off. The common HTTP features
are the features you would expect from a web server.
After implementing the selections on this page, IIS serves up a web page.
10. Restart IIS by going to the IIS manager (:guilabel:`Start --> IIS Manager`).
11. Select your website.
On the far right side of the opening page you will see a section titled
:guilabel:`Manage Server`.
12. Make sure that the service is started, or click :guilabel:`Start` to start
the services selected.
13. Go to a web browser and navigate to http://localhost.
The standard IIS 7 splash page opens. This page displays a static image
that indicates that your web server is running. Assuming you were able to
reach splash page, your web server is now up and running.
Continue by `installing PHP`_.
Windows Server 2008
^^^^^^^^^^^^^^^^^^^
1. Navigate to :guilabel:`Start --> Control Panel --> Programs`.
2. Under Programs and Features, click the link titled :guilabel:`Turn Windows
Features on and Off`. The Server Manager starts.
3. In the Server Manager, click ``Roles``
4. Click ``Add Roles``.
5. 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. Go to the IIS manager (:guilabel:`Start --> IIS Manager`) and restart IIS.
8. Select your website
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.
Continue by `installing PHP`_.
Installing PHP
~~~~~~~~~~~~~~
1. Go to the `PHP for Windows`_ download page.
.. note:: The instructions below are for IIS only. If using a different server
software, make sure to follow the hints on "Which version do I
choose" on the left hand side of the page linked above.
2. Download the Installer for PHP 5.3, the "VC9 Non Thread Safe" version,
either 32 or 64 bit, depending on your system.
3. Run the downloaded installation executable.
4. Read the license agreement, agree, select an install directory.
5. Then select IIS FastCGI as the install server.
6. Take the default selections for the items to install, and click next.
Then click `install`.
7. Once the installer is finished, PHP is installed.
Continue by `installing MySQL`_.
Installing MySQL
~~~~~~~~~~~~~~~~
To install MySQL on your Windows machine:
1. Use your browser to migrate to http://dev.mysql.com/downloads/.
2. Download the latest community edition for your operating system, choosing
either the 32 or 64 bit version as applicable.
3. Download the **MSI Installer** to assist with the install.
4. Once the download completes, install MySQL (5.5 at the time of writing),
selecting the typical installation.
5. Once the installation completes, check the checkbox to launch the MySQL
Instance Configuration Wizard and click ``Finish``.
6. Select a standard configuration, as this will be the only version of MySQL on
this machine.
7. Select the option to install as a windows service, and Check the ``Launch the
MySQL Server Automatically`` button.
8. Select the modify security settings checkbox on the next page, and enter a
password.
.. note:: Make sure to note your chosen password. You will need this
password when you configure ownCloud.
9. Uncheck ``enable root access from remote machines`` for security reasons.
10. Click execute. The instance is created and launched.
11. Once the instance launches, click Finish.
Take particular note of your MySQL password, as the user name **root** and the
password you select will be necessary later on in the ownCloud
installation. As an aside, the following 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.
The file is downloaded in tar.bz2 format.
2. Unzip the file and save it locally.
.. note:: You can use jZip for a free utility (like Peazip) to unzip the
file.
3. Copy the file to your ``wwwroot`` directory (for example,
**C:\\inetpub\\wwwroot**).
.. note:: Only the administrator can install directly into the directory
**wwwroot** from an unzipping application. However, you can save the
file in a different folder and then move the files into **wwwroot** in
windows explorer. This process installs ownCloud locally in your root
web directory. You can use a subdirectory called owncloud (or whatever
name you choose).
4. To enable write access to the ownCloud directory to the ownCloud server,
navigate your windows explorer to **inetpub/wwwroot/owncloud** (or the
installation directory you selected).
5. Right click and select properties.
6. Click the security tab, and select the button “to change permissions, click
edit”.
7. Select the “users” user from the list, and check the box “write”.
8. Apply these settings and close the window.
Continue by following the :doc:`installation_wizard`. 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 during MySQL
installation, and pick any name for the database instance.
Ensure Proper HTTP-Verb Handling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IIS must pass all HTTP and WebDAV verbs to the PHP/CGI handler, and must not
attempt to handle them by itself or syncrhonizing with the Desktop and Mobile
Clients will fail.
To ensure your configuration is correct:
1. Open IIS Manager7.
2. In the `Connections` bar, select your site below `Sites`, or choose the top
level entry if you want to modify the machine-wide settings.
3. Choose the `Handler Mappings` feature.
4. Click `PHP_via_fastCGI`.
5. Choose `Request Restrictions` and locate the `Verbs` tab.
6. Ensure `All Verbs` is checked.
7. Click `OK`.
7. Choose the `Request Filtering` feature from the IIS Manager.
8. Ensure that all verbs are permitted (or none are forbidden) in the `Verbs`
tab. You need to allow the verbs ``GET``, ``HEAD``, ``POST``, ``OPTIONS``,
``PROPFIND``, ``PUT``, ``MKCOL``, ``MKCALENDAR``, ``DELETE``, ``COPY``, and
``MOVE``.
.. note:: Because ownCloud must be able to use WebDAV on the application
level, you must also ensure that you do not enable the WebDAV authoring
module.
Configuring ownCloud, PHP and IIS for Large File Uploads
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Before you begin to use ownCloud heavily, it is important to make a few
configuration changes to enhance the service and make it more useful. For
example, you might want to increase the **max upload size**. The default upload
is set to **2MB**, which is too small for many files (for example, most MP3
files).
To adjust the maximum upload size, you must access your ``PHP.ini`` file. You
can locate this file in your **C:\\Program Files (x86)\\PHP** folder.
To adjust the maximum upload size, open the ``PHP.ini`` file in a text editor,
find the following key attributes, and change them to what you want to use:
+ **upload_max_filesize** Changing this value to something like 1G will enable
you to upload much larger files.
+ **post_max_size** Change this value to be larger than your max upload size
you chose.
You can make other changes in the ``PHP.ini`` file (for example, the timeout
duration for uploads). However, most default settings in the **PHP.ini** file
should function appropriately.
To enable file uploads on the web server larger than 30 MB, you must also change
some settings in the IIS manager.
To modify the IIS Manager:
1. Go to the start menu, and type **iis manager**. IIS manager launches.
2. Select the website that you want to accept large file uploads.
3. In the main (middle) window, double click the icon **Request filtering**.
A window opens displaying a number of tabs across the top.
4. Select :guilabel:`Edit Feature Settings`
5. Modify the :guilabel:`Maximum allowed content length (bytes)` value to 4.1
GB.
.. note:: This entry is in bytes, not kilobytes.
You should now have ownCloud configured and ready for use.
.. _PHP For Windows: http://windows.php.net/download/