mirror of
https://github.com/nextcloud/documentation.git
synced 2026-01-04 10:46:21 +07:00
355 lines
13 KiB
ReStructuredText
355 lines
13 KiB
ReStructuredText
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/
|