Commit graph

45 commits

Author SHA1 Message Date
ArthurHoaro 7e78237fc9
Merge pull request #1630 from ArthurHoaro/fix/apache-config
Reviewed Apache configuration
2020-11-10 10:45:05 +01:00
ArthurHoaro 8a9796014c Reviewed Apache configuration
(in documentation)

For security purpose, block access to any static file not matching the list of allowed extensions.
It allows us to remove the specific retriction on dotfiles, and fix Apache part of #1608.
2020-11-08 13:13:13 +01:00
ArthurHoaro ce901a5828 Reviewed nginx configuration
Both in documentation and Docker image.

For security purpose, it no longer allow to access static files through
the main nginx *location*. Static files are served if their extension
matches the whitelist.

As a side effect, we no longer need specific restrictions, and
therefore it fixes the nginx part of #1608.
2020-11-07 14:27:49 +01:00
ArthurHoaro 2f87bfdc69 Fix: nginx - add rule to disable url-rewriting for the docs
Related to #1603
2020-10-21 15:23:30 +02:00
ArthurHoaro 7836ed9b2e Doc: typo 2020-10-16 19:20:45 +02:00
ArthurHoaro 7f5250421b Support using Shaarli without URL rewriting
- Shaarli can be fully used by prefixing any URL with /index.php/
   - {$base_path} used in templates already works with this configuration
   - Assets path (outside of theme's assets) must be prefixed with {$root_url}/
   - Documentation section in « Server configuration »

Fixes #1590
2020-10-16 12:47:11 +02:00
ArthurHoaro ec45749187 Doc: add PHP 7.4 and 8.0 as supported version 2020-10-15 09:01:41 +02:00
nodiscc a5e9f2d6c9 doc: nginx config: document ipv4 and ipv6 listen directives 2020-09-12 14:31:45 +02:00
nodiscc f682f1b899 doc: serve configuration/reverse proxy: fix apache mod_md configuration, move reference links to their respective sections, shorten 2020-09-12 14:31:45 +02:00
nodiscc 083b28021a doc: server configuration: fix apache restart command 2020-09-12 14:31:45 +02:00
nodiscc 19489e92d7 doc: server configuration: enable mod_headers 2020-09-12 14:31:45 +02:00
nodiscc 5eece37b0a doc: server configuration: fix apache site config file name 2020-09-12 14:31:45 +02:00
nodiscc d8847936d4 doc: server configuration: add reminder to change the example domain name 2020-09-12 14:31:45 +02:00
nodiscc 9417f1337e doc: server configuration: add asciicast of server configuration procedure (asciinema) 2020-09-12 14:31:45 +02:00
nodiscc 02117f7ea3 doc: reverse proxy: update HTTP->HTTPS redirect configuration, remove logging options 2020-09-12 14:31:45 +02:00
nodiscc e21df1e729 doc: fail2Ban: add note about restarting fail2ban 2020-09-12 14:31:45 +02:00
nodiscc f3ab261631 doc: apache: add example configuration for mod_md 2020-09-12 14:31:45 +02:00
nodiscc 38d66e1a40 doc: server configuration: apache: add note about mod_md 2020-09-12 14:31:45 +02:00
nodiscc ecdae2237f doc: server configuration: update apache configuration 2.2 -> 2.4
https://httpd.apache.org/docs/current/upgrading.html
2020-09-12 14:31:45 +02:00
nodiscc 78f319fa6b doc: troubleshooting: add procedure to clear shaarli caches 2020-09-12 14:31:45 +02:00
nodiscc 6c4cae378e doc: server configuration: remove apache logging options
see https://github.com/nodiscc/xsrv/blob/master/roles/apache/templates/etc_apache2_conf-available_logging.conf.j2 for an example server-wide logging configuration
2020-09-12 14:31:45 +02:00
nodiscc 1aeefe1088 doc: server configuration: formatting/add comment 2020-09-12 14:31:45 +02:00
nodiscc e0fe33f90b doc: server configuration: add note on required firewall/NAT for Let's Encrypt certificates 2020-09-12 14:31:45 +02:00
nodiscc dfe14f264b doc: server configuration: php requirements: add php-simplexml
ref. https://github.com/shaarli/Shaarli/pull/1476
2020-09-12 14:31:45 +02:00
nodiscc 778add2c9c doc: nginx: add let's encrypt ssl configuration 2020-09-12 14:31:45 +02:00
nodiscc 538fb324a8 doc: nginx: reorder 2020-09-12 14:31:45 +02:00
nodiscc c84d143047 apache: fix let's encrypt configuration , copy it directly from reference file
including options-ssl-apache.conf requires python3-certbot-apache which pulls a lot of dependencies
2020-09-12 14:31:45 +02:00
nodiscc 30255b794a doc: php compatibility: add php 7.3 2020-09-12 14:31:45 +02:00
nodiscc 41b93897f3 server-configuration: move firewall/NAT requirements to Network section 2020-09-12 14:31:45 +02:00
nodiscc 6384447d1d fix markdown syntax 2020-09-12 14:31:45 +02:00
nodiscc a32e6665d0 formatting/emphasis 2020-09-12 14:31:45 +02:00
nodiscc 91a21c2729 **General rewording, proof-reading, deduplication, shortening, reordering, simplification, cleanup/formatting/standardization**
- standardize page names, rework documentation structure, update TOC
- use same example paths everywhere
- level 1 titles on all pages
- fix broken links
- .md suffix on all page links (works both from readthedocs and github repository views)

**Server:**

A full and concise installation guide with examples is a frequent request. The documentation should provide such a guide for basic installation needs, while explaining alternative/advanced configuration at the end. Links to reference guides and documentation should be used more frequently to avoid recommending an outdated or excessively complex configuration.

- server: move most server-related info to server-configuration.md, cleanup/shorten
- server: update list of php dependencies/libraries, link to composer.json
- server: installation: support 3 install methods (from release zip, from sources, using docker)
- server: installation: use rsync instead of mv as mv results will change depending of taget directory already existing or not
- server: add example/basic usage of certbot
- server, upgrade, installation: update file permissions setup, use sudo for upgrade operations in webserver document root
- server: apache: add comments to configuration, fix and factorize file permissions setup, set cache-control header, deny access to dotfiles, add missing apache config steps, add http->https redirect example
- server: nginx: refactor nginx configuration, add comments, DO log access to denied/protected files
- server: add links to MDN for x-forwarded-* http headers explanation, cleanup/clarify robots.txt and crawlers section
- server: bump file upload size limit to 100MB we have reports of bookmark exports weighing +40MB - i have a 13MB one here
- server: simplify phpinfo documentation
- server: move backup and restore information to dedicated page
- docker: move all docker docs to Docker.md, simplify/ docker setup, add docker-compose.yml example, replace docker-101 with docker cheatsheet
- troubleshooting: move all troubleshooting documentation to troubleshooting.md

**Usage:**

- index: add getting started section on index page
- features/usage: move all usage-related documentation to usage.md, add links from the main feature list to corresponding usage docs, clarify/reword features list
- shaarli configuration: add note about configuring from web interface

**Removed:**

- remove obsolete/orphan images
- remove obsolete shaarchiver example
- remove outdated "decode datastore content" snippet

**Development:**

- development: move development-related docs (static analysis, CI, unit tests, 3rd party libs, link structure/directory, guidelines, security....) to dev/ directory
- development: Merge several pages to development.md
- **Breaking change?:** remove mentions of 'stable' branch, switch to new branch/release model (master=latest commit, release=latest tag)
- **Breaking change?:** refer to base sharing unit as "Shaare" everywhere (TODO: reflect changes in the code?) doc: update featues list/link to usage.md for details
- development: directory structure: add note about required file permissions
- .travis-ci.yml: add comments
- .htaccess: add comment
2020-09-12 14:31:45 +02:00
nodiscc 273453900a
doc: use obvious <PHP_VERSION> placeholder
Co-Authored-By: Aurélien Tamisier <virtualtam+github@flibidi.net>
2020-03-09 17:43:45 +00:00
nodiscc 04a816f648 doc: fix references to php5, use new directory structure 2020-01-19 13:52:03 +01:00
nodiscc 3575fe5bcf
doc: add explanation of php-json requirement 2019-11-09 15:40:53 +00:00
rfolo9li 54b065c253
Added php-json as required PHP module
Without php-json the installation stops with a white screen and the following error:
> 09-Nov-2019 14:05:46 UTC] PHP Fatal error:  Uncaught Error: Call to undefined function Shaarli\Config\json_encode() in /var/www/html/shaarli/application/config/ConfigJson.php:48
> Stack trace:
> #0 /var/www/html/shaarli/application/config/ConfigManager.php(239): Shaarli\Config\ConfigJson->write('data/config.jso...', Array)
> #1 /var/www/html/shaarli/index.php(1835): Shaarli\Config\ConfigManager->write(false)
> #2 /var/www/html/shaarli/index.php(178): install(Object(Shaarli\Config\ConfigManager), Object(Shaarli\Security\SessionManager), Object(Shaarli\Security\LoginManager))
> #3 {main}
>   thrown in /var/www/html/shaarli/application/config/ConfigJson.php on line 48

Tested with Shaarli 0.10.4 on CentOS 8 with Httpd 2.4.37 and PHP 7.2.11.
2019-11-09 15:24:10 +01:00
ArthurHoaro c3a04e328f
Merge pull request #1273 from ArthurHoaro/feature/ban-manager
Rewrite IP ban management
2019-05-25 16:13:56 +02:00
ArthurHoaro 899d041137 Documentation: drop PHP 7.0 compatibility in Shaarli 11.x
related to #1249
2019-02-09 17:02:30 +01:00
ArthurHoaro b49a04f796 Rewrite IP ban management
This adds a dedicated manager class to handle all ban interactions, which is instantiated and handled by LoginManager.
IPs are now stored in the same format as the datastore, through FileUtils.

Fixes #1032 #587
2019-02-09 16:44:48 +01:00
nodiscc 7062ef4ddd
doc: update PHP compatibility table
Ref https://github.com/shaarli/Shaarli/issues/1249
2018-12-09 14:40:04 +00:00
nodiscc 6c44d604a1 doc: server config: basic usage of robots.txt/HTML robots meta-tag/crawler control mechanisms 2018-09-09 16:21:58 +02:00
ArthurHoaro 787faa42f3 Take code review into account
Upgrade web-thumbnailer and display thumbs right after download
2018-07-05 20:34:22 +02:00
nodiscc bdfb967ca2 Improve documentation (#598, #1105)
* rework/simplify server configuration/requirements pages (consolidate/simplify SSL/TLS/apache configuration)
 * update index.md introduction
 * remove external images (badges)
 * Fix COPYING link and documentation links
 * Update features list
 * dedpulicate information
 * remove server-requirements.md and move relevant doc to other files
 * TODO: rework nginx configuration (single configuration example, with commented out blocks for special cases)
 * TODO: consolidate download/install/configuration pages
 * remove blank lighttpd configuration section
 * remove Required? column for composer packages, all libraries are mandatory
 * php 7.2 compatibilty
 * clarify that certbot binary and paths may vary depending on install method
2018-06-17 18:56:00 +02:00
VirtualTam 43ad7c8e82 documentation: fix rendering and internal references
This is mainly cleanup after switching from Github-flavoured Markdown
rendered by Github Pages, to standard Markdown rendered by MkDocs.

Changed:
- rephrase some section titles

Fixed:
- list rendering (items, sub-items))
- code rendering
- quotes
- dead links

Removed:
- extraneous navigational elements

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2017-08-05 11:56:24 +02:00
nodiscc 53ed6d7d1e Generate HTML documentation using MkDocs (WIP)
MkDocs is a static site generator geared towards building project documentation.
Documentation source files are written in Markdown, and configured with a single YAML file.

 * http://www.mkdocs.org/
 * http://www.mkdocs.org/user-guide/configuration/

Ref. #312

* remove pandoc-generated HTML documentation
* move markdown doc to doc/md/,
* mkdocs.yml:
  * generate HTML doc in doc/html
  * add pages TOC/ordering
  * use index.md as index page
* Makefile: remove execute permissions from generated files
* Makefile: rewrite htmlpages GFM to markdown conversion using sed:
   awk expression aslo matched '][' which causes invalid output on complex links with images or code blocks
* Add mkdocs.yml to .gitattributes, exclude this file from release archives
* Makefile: rename: htmldoc -> doc_html target
* run make doc: pull latest markdown documentation from wiki
* run make htmlpages: update html documentation
2017-06-18 00:19:49 +02:00
Renamed from doc/Server-configuration.md (Browse further)