IIS 安装 pydio
Introduction
In this how-to, we’ll see the installation of Pydio (Put Your Data In Orbit), which is a good alternative to Dropbox, Drive, or ownCloud. In this case, the installation will be carried on a Microsoft IIS 8 webserver, which in this case, is installed on Windows 8.
Prerequisites
Before you begin, verify that you have the following prerequisites :
IIS 8 webserver is installed
PHP engine is integrated at the IIS 8 webserver
MySQL is already installed (it is recommended, but only necessary if you want use Pydio with a database)
Pydio : You must download the Pydio source before starting this how-to.
Prepare your IIS webserver
First off, we will prepare the IIS webserver to have the proper configuration to serve Pydio. Open the IIS manager on your server.
Prepare the site
Do a right click on « Sites » then « Add Website », you will obtain the form present in the screenshot below.
Add website in IIS manager
Complete the different fields :
Site name : Give a name to your site; it will be displayed in the IIS manager
Physical path : Root path of the site
Type : Use HTTP, or HTTPS if you have an SSL certificate
Port : Indicate 80 for HTTP, 443 for HTTPS, or another port if you’d prefer.
Complete the other fields if necessary. Once the configuration is complete, click on “OK” to finish the creation.
Now, open the Pydio archive that you previously downloaded. Then, unzip the contents of the pydio-core-5.x.x directory to the root of your website. Example:
Pydio distribution unzipped
Requests Filtering
For security reason, it’s necessary to prohibit access to the “data” directory of Pydio. To do this, you can either place the data directory out of the Pydio website’s root, or you can create an IIS rule to prevent access, we will do the latter. For this, you must have the “Request Filtering” functionality in IIS (the name of this functionality is dependent on the version). Once in the Pydio site, click on the icon which is presented to the left of this tutorial, and click on “Add hidden segment” on the right in the IIS window, shown below. Fill the field “data”, then confirm to create the protection rule.
Adding a hidden segment
If not already accessible, you may have to add this module to IIS. To do this, activate the “Request Filtering” by “adding features”.
Enable Request Filtering feature
Once the addition is complete, you can perform the operation described previously.
Authorization Rules
Using Request Filtering keeps the public folder from working in its default location. We can use Authorization Rules to disallow access to certain subfolders, which allows overriding at a lower level. Thus, let’s “deny all” at the data folder, and “allow all” at the public folder. See below for as sample web.config files and their location using \ as the root installation location of Pydio.
- <authorization> tags are for Authorization Rules.
- <httpErrors> is to change the default error page for the public folder
- <requestFiltering> is to deny access to “.ajxp_” files in the public folder, though this has not been tested.
\conf\web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Deny" users="*" />
</authorization>
</security>
</system.webServer>
</configuration>
\data\web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Deny" users="*" />
</authorization>
</security>
</system.webServer>
</configuration>
\data\public\web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" users="*" />
</authorization>
<requestFiltering>
<filteringRules>
<filteringRule name="Pydio Public" scanUrl="true" scanQueryString="false">
<denyStrings>
<clear />
<add string=".ajxp_" />
</denyStrings>
<scanHeaders>
<clear />
</scanHeaders>
<appliesTo>
<clear />
</appliesTo>
</filteringRule>
</filteringRules>
</requestFiltering>
</security>
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/data/public/404.html" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
</configuration>
\files\plugins\editor.zoho\agent\files\web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Deny" users="*" />
</authorization>
</security>
</system.webServer>
</configuration>
\files\plugins\editor.pixlr\web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="PixlrSave" stopProcessing="true">
<match url="^fake_save_pixlr_(.*).php$" />
<action type="Rewrite" url="fake_save_pixlr.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
\files\web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Pydio WebDAV" stopProcessing="true">
<match url="^shares" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="./dav.php" />
</rule>
<rule name="Pydio API_REST" stopProcessing="true">
<match url="^api" ignoreCase="false" />
<action type="Rewrite" url="./rest.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
[optional] Dedicated Windows User
Within IIS, you can convert /pydio to an Application, so that you can configure it to run under a different user account than the DefaultAppPool. Create a specific user for the application to run as that is just a local user with no group memberships. Give this user read-only rights everywhere under /pydio, and add Modify rights (read/write/delete) to the data folder.
When doing an upgrade, add Modify rights at the root level and then remove it after you finish the in-Pydio upgrade.
PHP configuration
Now, we will configure PHP to prevent Pydio’s “PHP Output Buffer disabled” warning on the diagnostic page. Click on “PHP Manager” then “Manage all parameters”.
Disabling output_buffering
Use the search area to find the parameter “output_buffering”. Double click on the parameter and write the value to “off”. The website php.net indicates:
“You can enable output buffering for all files by setting this directive to ‘On’. If you wish to limit the size of the buffer to a certain size – you can use a maximum number of bytes instead of ‘On’, as a value for this directive (e.g., output_buffering=4096). As of PHP 4.3.5, this directive is always Off in PHP-CLI.”
Installing the application
The server is ready, the site is online, and now we can install Pydio.
With your favorite browser, go to your Pydio website. The diagnostics page will appear named “Pydio Diagnostic Tool”. Double click on “click here to continue to Pydio” – Unless you get one or more critical errors, but if you followed this tutorial properly, there won’t be a problem.
Regarding the “SSL Encryption” advertisement: It’s recommended to use a HTTPS connection on your website, so you must use HTTPS in your IIS site and have a certificate to secure exchanges between the client and the server.
If you want to activate the automatic redirection to HTTPS on your site, modify the file “conf/bootstrap_conf.php” of Pydio and remove comment:
define(“AJXP_FORCE_SSL_REDIRECT”, true);
Start the setup with the area “Admin access”, set a name for the Administrator account, a display name for this account, and enter a passphrase.
Pydio Install : Administrator user
Go to “Global options” and choose “English” for the “Default Language”.
Pydio Install: Global Options
This next step is the trickiest. Indeed, to store data, Pydio can use a database but it isn’t an obligation. If you want to do an installation without database, go to step 1 below. If you want to do an installation with a database, go to step 2.
- Without a database
Without a database, no configuration is necessary, you must only select “No Database (Quick Start)” and continue.
Installing with or without DB
With database
You should already have a MySQL Server installed on your machine if you followed the prerequisites. If so, Open a CMD to establish a connection with the MySQL Server (make sure you cd to the bin directory of MySQL). Run the following command:
mysql.exe –u root –p
You get this :
Accessing Mysql server from command line
Then, for example I have decided to create a database named “itconnectpydio” for Pydio only, with a user named “pydio”, which has “password” as its passphrase. This is just an example. You should change these defaults in your environment.
The user “pydio” must have all privileges on tables in the database because it must manage the data stored in it. Enter the following commands:
# Create the database
CREATE DATABASE itconnectpydio;
# Create the user
CREATE USER "pydio"@"localhost" IDENTIFIED BY "password";
# Assign rights
GRANT ALL PRIVILEGES ON itconnectpydio.* TO "pydio"@"localhost";
Then, go to the webpage of Pydio configuration, choose “Database” for “Storage Type” and “MySQL” for “Database”. After, complete the fields to establish a connection with the MySQL server.
Once that is complete, click on “Try connecting to the database” to verify the connection between Pydio and the SQL server.
If the configuration is correct, you will have this message: “Connection established!”
Testing connection parameters
This is the last step, create one or many users different of the account “Administrator” (optional). Then, click on “Install Pydio Now!”
First connection
When the installation is complete, you will be redirected on the login page of Pydio. Use the account “Administrator”, or another account that you created in the previous step.
Login screen: install successfull!
You are now connected and ready to use Pydio!
IIS 安装 pydio的更多相关文章
- IIs安装&发布&解决遇到的问题
IIS安装: IIS发布: 1.添加网站: 2.将发布的文件,copy到该网站的目录下 3. 刷新,文件显示出来,将其"转换为应用程序” => 4.在应用程序池中找到该网站相应的程序池 ...
- IIS安装与MVC程序部署
最近在做访客系统,虽然说不是什么多大的项目,但麻雀虽小五脏俱全,使用EF Code First+Mysql+Frozenui响应式布局,感觉通过这个项目学到好多东西,Mysql的使用.EF映射Mysq ...
- win8 iis安装及网站发布
win8 iis安装及网站发布 系统:win8 环境:vs2012 一:安装IIS 比较win7的安装来说,多选了几个钩钩,不然会报错,偶就遇到这样的错误. 控制面板->程序和功能->启动 ...
- 各版本IIS安装方法
各版本IIS安装方法 Windows 2000 V5.0 将操作系统安装光盘放入光驱,打开“控制面板”→“添加或删除程序”→“添加/删除 Windows 组件”,勾选“Internet信息服务(I ...
- IIS安装教程
IIS安装步骤图解: 1):打开添加删除程序,并选中添加/删除 Windows组件,后双击! 2): 选中并双击添加/删除 Windows组件后,弹出组件安装向导!并可以看到Internet 信息服务 ...
- MVC图片上传详解 IIS (安装SSL证书后) 实现 HTTP 自动跳转到 HTTPS C#中Enum用法小结 表达式目录树 “村长”教你测试用例 引用provinces.js的三级联动
MVC图片上传详解 MVC图片上传--控制器方法 新建一个控制器命名为File,定义一个Img方法 [HttpPost]public ActionResult Img(HttpPostedFile ...
- IIS安装与部署,站点的部署与配置
第一章:IIS安装与部署 一,服务器概念的理解: 将设计好的软件只要部署到一台机器(服务器--->IIS)上,其它的员工通过浏览器(网址.)来进行访问. 做好的网站必须部署到这台机器上的IIS中 ...
- Win2003 IIS 安装方法 图文教程
最近水一水 质量不高 见谅 一般大家先安装好win2003系统,图文教程 Win2003 服务器系统安装图文教程要通过控制面板来安装.具体做法为: 1. 进入“控制面板”. 2. 双击“添加或删除程序 ...
- .NET开发框架(四)-服务器IIS安装教程
Windows Server 2012 R2 配置篇,包括服务器IIS安装.网络负载均衡器安装.ASP.NET Core 安装. 前三篇教程中,我们分享了框架的功能与视频演示介绍(文尾扫码 加入 框架 ...
随机推荐
- CentOS6.6系统源代码安装mysql5.5.28教程(附源码包下载地址)+sysbench的安装
mysql从5.5版本开始,不再使用./configure编译,而是使用cmake编译器,具体的cmake编译参数可以参考mysql官网文档(※ 非常重要) http://dev.mysql.com/ ...
- mysql 用sql语句查询一个表中的所有字段类型、注释
SELECT column_name,column_comment,data_type FROM information_schema.columns WHERE table_name='表名' AN ...
- Python3基础 count 返回指定元素在列表中的个数
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- 【leetcode❤python】 112. Path Sum
#-*- coding: UTF-8 -*-# Definition for a binary tree node.# class TreeNode(object):# def __init_ ...
- DevExpress Crack
开发者论坛 DevExpressComponents-16.1.6.16270.exe http://www.dxper.net/thread-7440-1-1.html http://www.dxp ...
- c#扩展方法的理解(一:初识)
扩展方法是静态方法,是类的一部分,但是实际上没有放在类的源代码中. 扩展方法所在的类也必须被声明为static C#只支持扩展方法,不支持扩展属性.扩展事件等. 扩展方法的第一个参数是要扩展的类型,放 ...
- div相对浏览器移动
<% String path = request.getContextPath();%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...
- C# 十进制与十六进制互转
1.从十六进制转换为十进制 /// <summary> /// 十六进制转换到十进制 /// </summary> /// <param name="hex&q ...
- switch语句和for循环
switch语句: 1. switch 后面小括号中表达式的值必须是整型或字符型 2. case后面的值可以是常量数值,如:1.日:也可以是一个常量表达式,如:2+2:但 不能是变量或带有变量的表达式 ...
- WrapPanel流布局的一个简单例子
<Window x:Class="WrapPanel.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2 ...