textpattern / textpattern-com-website

Official website of the Textpattern project.
https://textpattern.com
GNU General Public License v2.0
24 stars 8 forks source link

System requirements #178

Closed vladas-palubinskas closed 4 years ago

vladas-palubinskas commented 5 years ago

Many thanks for expanding the scope of HTTP and SQL servers for Textpattern. Could we take away also the disgraceful dependence from Apache and other proprietary directives from our System requirements — the main webpage for new visitors to Textpattern.com?

Textpattern works on any web server that supports Apache, PHP and MySQL.

Textpattern works on any open standards compliant HTTP server (Apache, Caddy, Cherokee, G-Wan, Hiawatha, Lighttpd, NginX, OpenLiteSpeed) with PHP and MariaDB (MySQL) support.

philwareham commented 5 years ago

@petecooper any thoughts on this? I’m no server expert. I do wonder if the system requirements should be in the docs site for a start?

petecooper commented 5 years ago

+1 for the system requirements in a doc, I've mentioned this before and it would make updates much more easy to track (with appropriate change control).

I am -1 for expanding official support to other web servers and databases. This sets expectations that if someone has a problem with [insert name] web server and [insert name] flavour of MySQL derivative then they can get a solution. There are myriad web servers, and the onus should be on the relevant community to figure out how Textpattern runs best on [insert name] web server -- just like @vladas-palubinskas did -- and then create the how-to for it.

My concern is where the line is drawn. MySQL is known to work. It's a safe bet that most derivatives and drop-in replacements will work. MariaDB, for example, is a fork of MySQL, and I have a feeling they will eventually diverge into two products. Percona is billed as a drop-in replacement for MySQL and there are some date-related issues that @Bloke and I have bumped into from time to time. I use Percona -- I don't expect Textpattern support for Percona, but I still use it.

I would be in favour of using this opportunity to reassess whether support is the best term to use throughout the system requirements and trim back some weasel words. Perhaps something along the lines of (off the top of my head):

Textpattern runs on servers with PHP, MySQL and an HTTP (web) server. It works best with modern stacks such as [web server stack 1 with linked install doc], [web server stack 2 with linked install doc], [web server 3 stack with linked install doc], and we have additional installations guides for: [bullet list of server stack install guides for other players].

There's still work to be done on the docs, especially on the installation and upgrade front. There's positive scope for expanding the install docs for more web servers, of course, but adding official support implies some top-down approach that I'm not comfortable with. Conversely, users of these lesser-known web servers tend to know more about them than we do (for example, @vladas-palubinskas is the Textpattern Hiawatha dude), and so having a bottom-up approach from these communities is -- in my opinion -- more useful, more sustainable and a more constructive route.

tl;dr: spin out the system requirements to docs already, and bash the term "support" on the head.

vladas-palubinskas commented 5 years ago

No, I never meant support, simply because we can not — being the community, not incorporated. I had in mind Textpattern should be developed (and documented) in open standards mode, with no dependency to proprietary software:

Textpattern is developed in PHP programming language to publish websites on any open standards compliant HTTP server, suited with MariaDB (MySQL) database.

MariaDB is the same MySQL, and forked purely to remain free and open source software (FLOSS), due to license issue of MySQL. That is because we should just prefer MariaDB over MySQL.

Sorry for the confusing, I do not speak English fluently. I just warned not to include .htaccess rules in Texpattern core, to avoid dependence from Apache only.

Below are collected a few of configuration tips to run Textpattern CMS on these verified webservers.

petecooper commented 5 years ago

@vladas-palubinskas - I mostly agree with you, and I think we are both thinking similar things.

I made some small changes to the installation document yesterday just before your reply above, so the document now has less focus on Apache. You can see the individual changes here and here and the document is better now than it was previously.

MariaDB is still a fork of MySQL. Percona is a fork of MySQL. I remember Drizzle also being a fork of MySQL, but that has been abandoned for 6 years now, so is not viable. Textpattern should use the core flavour of MySQL, even though it is perhaps not the 'best' flavour, because it is the most widely available.

Oracle maintains the MySQL source code here, and it has a FLOSS-friendly license, so I consider it open source software.

For those people (like you, and like me) who prefer to use 'better' or 'best' flavours compared to MysQL, that is a personal choice and documents should show how to do that, either here at Textpattern User Documentation or there at Better Flavour Document Site, for example.

I agree that the system requirements text needs some work to be more neutral, but we can get that moved to an external document and have more people examine it for potential changes. Most web servers use Apache right now, and Apache has the ability to use .htaccess files for local site control in the website file system, so is easy to implement for many users. Nginx has no equivalent to .htaccess in the website file system, and I understand Hiawatha is the same – both of these platforms require changes in the site configuration file to use rewrite rules, and other things.

(PS: your English is excellent, and I hope my text is not confusing you in response.)

petecooper commented 4 years ago

We can close this, I think. The text outlined in @vladas-palubinskas's opening post has been changed to cover a broader range of servers.