Flash drive recognition program for Android. Connecting an Android phone to a computer via USB like a flash drive. Solutions based on the StickMount program

Flash drive recognition program for Android. Connecting an Android phone to a computer via USB like a flash drive. Solutions based on the StickMount program

A modern website is not just a set of HTML documents, but also includes many technologies, including server ones, such as: SSI (Server-Side Includes), PHP (PHP: Hypertext Preprocessor, PHP: preprocessor hypertext), databases and much more. To familiarize yourself with and study these technologies, it would be a mistake to use a visited work site on the Internet, so it makes sense to install the necessary set of programs on your local computer and test everything on it.

The most popular combination of such programs is the Apache web server, the PHP programming language, the MySQL database management system, the PhpMyAdmin database administration shell, and the Smarty template engine.

These programs work primarily under Linux-like systems, but there are also versions for Windows. The main advantage of this bundle of programs is its versatility. A site created and tested on a local Windows computer can easily be transferred to a server running FreeBSD. In addition, this set is supported by the vast majority of hosters.

In the future, we will consider programs for a home computer with the Windows operating system.

Let us briefly describe what the technologies that will be used to create the site are.

Web server

A web server is a program that analyzes incoming requests and generates ready-made documents sent to the user. Apache is often used as a web server, as it is the most established and popular on the Internet. According to various estimates, its share is almost 50% of total number web servers used.

PHP

A popular programming language used in website development.

MySQL

Database management system.

PhpMyAdmin

Web interface for creating and managing MySQL databases. Allows you to view tables, change their contents, modify the structure, select data, and sort information. All actions are carried out directly in the browser, in a user-friendly interface specially designed for it.

Smarty

Powerful template system for PHP. Uses his own language, which combines HTML and special Smarty tags. Templates are needed to separate program code and document presentation or, in other words, to separate logic from content.

All specified programs and technologies are open source, free to download and free to use.

Can be installed necessary programs, downloading them from the manufacturer’s website and customizing them to suit your needs. However, this sometimes requires familiarity with the program and possession of the necessary qualifications, which beginners do not have. Because the we're talking about not about a full-fledged working server, but about a computer for testing and debugging, then it makes sense to use ready-made kits. This kit contains all the programs necessary for a web developer and is easy to configure and manage. Next we will talk about some popular web development kits.

Over time, any web developer ( blogger, web designer or web programmer) will need a special test site where you can practice without any problems website development or testing another web project. Some beginners use the resources of their paid hosting and place at least two websites there. One worker ( basic), and the other ( additional) for testing. The test site undergoes various tests ( installation and testing of many plugins, themes, scripts and so on).

As a result, with this layout, the main production site suffers greatly, since most of the hosting resources are consumed by the test project. However, there is another way that will allow without loss ( both in monetary and resource terms) carry out testing of your sites, and we will now consider this method.

Why not?

You probably already know that in order to put your website on the Internet, you need to register a domain name, buy hosting, that is, disk space on some computer with a high-speed connection on which PHP scripts can run. For sites to function fully, PHP and MySQL must be installed. All this is not available on a regular computer. How can HTML and PHP files run on your computer?

A regular file can be opened with Notepad++ or even with Notepad. Write something inside, save it and then open it without any problems this file on your browser and see how this file would look on a hosting site on the Internet. That is, we already see a working HTML page. In it we can create certain designs, content and monitor the project without an Internet connection. Essentially, we already have everything. If we want to run a PHP file using a browser, then nothing will work for us, since PHP scripts in the operating system Windows system without additional software will not work.

All this is not available on a regular computer, and thus there is no possibility of working with your web projects. Therefore, some beginners start spending money on additional resources of their paid hosting. But what to do in this case? The answer is simple - they exist special programs, with which you can install your own dedicated server directly on your computer.

What is a server?

What's happened server and how a local server differs from one located on the network. In our case, a server does not mean a computer, but a special set of programs that provide optimal performance site. In order for the site to work, we will need to install it in a specially designated location on the server (). That is, we upload site files to remote computer. However, without special server programs, our uploaded files will not be visible on the network. Now, for such purposes, we will create our own server on our home computer.

For this we need special programs. But which ones are better suited and what difficulties they can cause when further work? For your information, below I list the best web servers by popularity around the world. However, this does not mean that they need to be installed immediately. I'll explain why later!

List of the best web servers

There are currently several solutions on the market from the most different manufacturers:

  • (website - apache.org) is the most widespread and popular free server on the network. It is more reliable and flexible. The server is not demanding on processor resources and is capable of serving many sites. The application is available for a wide range of operating systems, including Unix, Linux, Solaris, Mac OS X, Microsoft Windows and others. On this moment Apache usage is 71%. However, this is a complex program that not every beginner can handle.

  • (website - www.iis.net) is another reliable server from Microsoft. It is firmly entrenched in second place with 14% of online usage. After installing the program, only two programming languages ​​will be supported ( VBScript and JScript). However, you can open additional features, installing the necessary extensions for this. With the installation of such modules, the functionality of this server increases significantly.

  • NGINX (website - nginx.org/ru/) is the most popular web server on the Russian Internet. Compared to the first two, it is the simplest and does not have unnecessary functions. It is also praised for its reliability and high speed work. The developer of this product is our compatriot Igor Sysoev. In 2004, he released the first version of nginx. Now this software product is one of the three most popular web servers in the world. Its usage is about 6.5%.

  • (website - litespeedtech.com) - this web server does not have wide possibilities, but it has a very high operating speed. It is 9 times faster than the popular Apache. Much attention is paid to safety ( its own protection against system overload, strict checking of http requests, anti-ddos and much more). LiteSpeed ​​is available for Solaris, Linux, FreeBSD and Mac OS X. The program has a usage rate of 1.5%.

Of course, there are many other similar programs, but the share of their use and trust among users is not as high as these. Unfortunately, you won’t be able to do this with just one program. Not only is it advisable to use them to work with large projects, it may still be difficult to install and configure. In addition, in addition to such servers, separate installation and configuration of some programs is required ( for example, to work with a database). All this causes significant difficulties for many users. What to do in this case?

Local Server Features

At the moment, there are many different distributions that can make life easier for any novice webmaster. They are very easy to install, easy to operate, less demanding on resources and contain the necessary software elements for the best performance.

That is local server- this is not one program ( not one specific web server), but a special collection that includes lightweight versions of complex server programs. Typically the assembly includes: the server itself ( mostly Apache, but there may be others), PHP compiler ( with its help the browser can read the codes and assemble the page), components for working with databases, various installers and many other programs. All this makes things much easier than if we installed and configured each program separately.

In addition, separate modules can be connected to the basic packages of local servers to expand functionality. More important feature is that on some servers it is possible to work from a removable flash drive. In general, such assemblies are very well suited for rapid website development and testing. small projects, and sometimes even large ones.

Review of popular local servers

Here are some builds that may be useful to you:

  • (website - denwer.ru) is a free domestic server that is designed to work with websites, web applications or Internet pages. Its developers are Dmitry Koterov and Anton Sushchev. This product contains the necessary distributions for simplified work. For example, this includes the Apache web server with various support, the phpMyAdmin panel and MySQL for working with databases and other programs. You can also work from a removable flash drive. Unfortunately Denwer only supports operating system Windows.

  • XAMPP (website - www.apachefriends.org/en/xampp.html) is a special server build from Apache friends. The necessary distributions allow you to run a full-fledged web server on it. This program It is distributed free of charge and supports work on Windows, Solaris, Mac OS X and Linux. There are also the following advantages: the server is popular for its very simple user interface, which makes it a favorite for many beginners; there are multiple occurrences updated versions; the update process is very simple and user-friendly; present additional modules. You can also download the required version from another official website - sourceforge.net/projects/xampp/files.

  • (website - www.appservnetwork.com) is an excellent server from a Thai manufacturer whose concept is easy installation and setting up all distributions in 1 minute. The first release of the assembly took place in 2001 and since then the number of users has been growing all the time. AppServ is very easy to install, it works stably and is no worse than official and individual releases, and its reliable performance makes it possible to create a full-fledged web server on your computer.
  • (website - vertrigo.sourceforge.net) is another good and easy to install local server. The assembly is very flexible, has good performance and takes up little disk space. Unfortunately, it only works on Windows OS for now.
  • Zend Server Community Edition (website - www.zend.com) is a free server from Zend, designed to work with web applications. Contains all the necessary components for quickly deploying a local server on your computer.

  • (website - open-server.ru) is a domestic portable local server that has high functionality for the development and creation of websites and other web projects. Has a multilingual interface ( including Russian) and is designed to run on Windows OS. Work from removable media is supported. This server is very good and serves as a good alternative to Denver.

  • (website - wampserver.com) - another good build with a Russian interface ( there are also other languages). There is a simple and clear menu, and convenient installation and setting up the assembly does not cause any particular difficulties. Configuration can be done without affecting configuration files, which is very useful for novice webmasters. The server is distributed free of charge and runs only on the Windows platform. Unfortunately, there is no portable version yet.
  • (website - easyphp.org) - a very simple assembly with Russian language support. The assembly is unremarkable, does not have huge functionality and is mainly intended for testing small projects. There is support for working from portable media. This server will serve as a good replacement for Denver.

Over time, any web developer ( blogger, web designer or web programmer) will need a special test site where you can practice without any problems website development or testing another web project. Some beginners use the resources of their paid hosting and place at least two websites there. One worker ( basic), and the other ( additional) for testing. The test site undergoes various tests ( installation and testing of many plugins, themes, scripts and so on).

As a result, with this layout, the main production site suffers greatly, since most of the hosting resources are consumed by the test project. However, there is another way that will allow without loss ( both in monetary and resource terms) carry out testing of your sites, and we will now consider this method.

Why not?

You probably already know that in order to put your website on the Internet, you need to register a domain name, buy hosting, that is, disk space on some computer with a high-speed connection on which PHP scripts can run. For sites to function fully, PHP and MySQL must be installed. All this is not available on a regular computer. How can HTML and PHP files run on your computer?

A regular file can be opened with Notepad++ or even with Notepad. Write something inside, save it, and then, without any problems, open this file in your browser and see how this file would look on a hosting site on the Internet. That is, we already see a working HTML page. In it we can create certain designs, content and monitor the project without an Internet connection. Essentially, we already have everything. If we want to run a PHP file using a browser, then we will not succeed, since PHP scripts in the Windows operating system will not work without additional software.

All this is not available on a regular computer, and thus there is no possibility of working with your web projects. Therefore, some beginners start spending money on additional resources of their paid hosting. But what to do in this case? The answer is simple - there are special programs with which you can install your own dedicated server directly on your computer.

What is a server?

What's happened server and how a local server differs from one located on the network. In our case, a server does not mean a computer, but a special set of programs that ensure optimal operation of the site. In order for the site to work, we will need to install it in a specially designated location on the server (). That is, we download site files to a remote computer. However, without special server programs, our uploaded files will not be visible on the network. Now, for such purposes, we will create our own server on our home computer.

For this we need special programs. But which ones are better suited and what difficulties can they cause during further work? For your information, below I list the best web servers by popularity around the world. However, this does not mean that they need to be installed immediately. I'll explain why later!

List of the best web servers

There are currently several solutions on the market from a variety of manufacturers:

  • (website - apache.org) is the most widespread and popular free server on the network. It is more reliable and flexible. The server is not demanding on processor resources and is capable of serving many sites. The application is available for a wide range of operating systems, including Unix, Linux, Solaris, Mac OS X, Microsoft Windows and others. Apache usage currently stands at 71%. However, this is a complex program that not every beginner can handle.

  • (website - www.iis.net) is another reliable server from Microsoft. It is firmly entrenched in second place with 14% of online usage. After installing the program, only two programming languages ​​will be supported ( VBScript and JScript). However, you can open up additional features by installing the necessary extensions. With the installation of such modules, the functionality of this server increases significantly.

  • NGINX (website - nginx.org/ru/) is the most popular web server on the Russian Internet. Compared to the first two, it is the simplest and does not have unnecessary functions. It is also praised for its reliability and high speed. The developer of this product is our compatriot Igor Sysoev. In 2004, he released the first version of nginx. Now this software product is one of the three most popular web servers in the world. Its usage is about 6.5%.

  • (website - litespeedtech.com) - this web server does not have many capabilities, but it has a very high speed. It is 9 times faster than the popular Apache. Much attention is paid to safety ( its own protection against system overload, strict checking of http requests, anti-ddos and much more). LiteSpeed ​​is available for Solaris, Linux, FreeBSD and Mac OS X. The program has a usage rate of 1.5%.

Of course, there are many other similar programs, but the share of their use and trust among users is not as high as these. Unfortunately, you won’t be able to do this with just one program. Not only are they useful for large projects, but they can also be difficult to install and configure. In addition, in addition to such servers, separate installation and configuration of some programs is required ( for example, to work with a database). All this causes significant difficulties for many users. What to do in this case?

Local Server Features

At the moment, there are many different distributions that can make life easier for any novice webmaster. They are very easy to install, easy to operate, less demanding on resources and contain the necessary software elements for the best performance.

That is local server- this is not one program ( not one specific web server), but a special collection that includes lightweight versions of complex server programs. Typically the assembly includes: the server itself ( mostly Apache, but there may be others), PHP compiler ( with its help the browser can read the codes and assemble the page), components for working with databases, various installers and many other programs. All this makes things much easier than if we installed and configured each program separately.

In addition, separate modules can be connected to the basic packages of local servers to expand functionality. Another important feature is that on some servers it is possible to work from a removable flash drive. In general, such assemblies are very well suited for rapid website development, testing small projects, and sometimes even large ones.

Review of popular local servers

Here are some builds that may be useful to you:

  • (website - denwer.ru) is a free domestic server that is designed to work with websites, web applications or Internet pages. Its developers are Dmitry Koterov and Anton Sushchev. This product contains the necessary distributions for simplified work. For example, this includes the Apache web server with various support, the phpMyAdmin panel and MySQL for working with databases and other programs. You can also work from a removable flash drive. Unfortunately Denwer only supports the Windows operating system.

  • XAMPP (website - www.apachefriends.org/en/xampp.html) is a special server build from Apache friends. The necessary distributions allow you to run a full-fledged web server on it. This program is distributed free of charge and supports work on Windows, Solaris, Mac OS X and Linux. There are also the following advantages: the server is popular for its very simple user interface, which makes it a favorite for many beginners; there are multiple appearances of updated versions; the update process is very simple and user-friendly; There are additional modules. You can also download the required version from another official website - sourceforge.net/projects/xampp/files.

  • (website - www.appservnetwork.com) is an excellent server from a Thai manufacturer, the concept of which is easy installation and configuration of all distributions in 1 minute. The first release of the assembly took place in 2001 and since then the number of users has been growing all the time. AppServ is very easy to install, it works stably and is no worse than official and individual releases, and its reliable performance makes it possible to create a full-fledged web server on your computer.
  • (website - vertrigo.sourceforge.net) is another good and easy to install local server. The assembly is very flexible, has good performance and takes up little disk space. Unfortunately, it only works on Windows OS for now.
  • Zend Server Community Edition (website - www.zend.com) is a free server from Zend, designed to work with web applications. Contains all the necessary components for quickly deploying a local server on your computer.

  • (website - open-server.ru) is a domestic portable local server that has high functionality for the development and creation of websites and other web projects. Has a multilingual interface ( including Russian) and is designed to run on Windows OS. Work from removable media is supported. This server is very good and serves as a good alternative to Denver.

  • (website - wampserver.com) - another good build with a Russian interface ( there are also other languages). There is a simple and clear menu, and convenient installation and configuration of the assembly does not cause any particular difficulties. Configuration can be done without affecting configuration files, which is very useful for novice webmasters. The server is distributed free of charge and runs only on the Windows platform. Unfortunately, there is no portable version yet.
  • (website - easyphp.org) - a very simple assembly with Russian language support. The assembly is unremarkable, does not have huge functionality and is mainly intended for testing small projects. There is support for working from portable media. This server will serve as a good replacement for Denver.

There are a lot of articles on the Internet about setting up certain HTTP servers. just as there are a huge variety of HTTP servers themselves, so deciding in favor of one solution or another is often difficult.

In this article we will not deal with the issue of choosing a server - after all, there are too many conditions to take into account. Some servers are designed to work in Unix/Linux systems, but do not work on the Windows platform, others are fast and productive, but do not support certain programming languages ​​in which your site can be written.

We set ourselves a different task - to deploy an HTTP server as quickly and easily as possible, which will be sufficiently productive, stable and secure when accessed from the Internet. But first a brief description of available server solutions.

Overview of the HTTP server market

So, all HTTP servers can be divided into productive and local. The former can and should be used to publish web content on the Internet or publish web applications. Such servers include world leaders that occupy the main market share - Apache, Microsoft IIS and nginx. The first is the world leader for publishing websites on hosting in the world. IIS is most often used to publish web applications written for Windows or in .NET platform languages ​​using VBScript and JScript, Sharepoint websites and for publishing corporate portals, such as online banks. For other dachas, the use of IIS is not justified. nginx - domestic development, which is increasingly used on web hosting, because this server differs from Apache in greater scalability and performance. Often, they can be used together.

But all these solutions are long, difficult to deploy and require a full-fledged server on Linux or Windows Server. Us in in this case I'm not interested.

There is also a group of local servers: Denwer, XAMPP, VertigoServ, Open Server, WAMP and others. What is a local server? This is not one program ( not one specific web server), but a special collection that includes lightweight versions of complex server programs. Typically the assembly includes: the server itself ( mostly Apache, but there may be others), PHP compiler ( with its help the browser can read the codes and assemble the page), components for working with databases, various installers and many other programs. All this is needed by web application developers to test their developments on local machines. Indeed, it is convenient and quick to deploy an all-in-one package, but these are completely unprotected solutions that are not intended for publishing sites on the Internet. By the way, among local servers I prefer Vertigo (simple and productive) and Open Server (excellent portable domestic product, a worthy replacement for Denwer).

I can’t help but tell you about another domestic full-featured server for enterprises - Eserv. This is a powerful mail, HTTP server, FTP server, DNS server, statistics, SNMP agent and SNMP monitor, video monitoring in one. The possibilities of the mail server are simply endless: Group work support- WIKI, forums, shared IMAP folders, blogs, chat, NNTP server, calendar and task server, shared address book (LDAP server), Exchange ActiveSync (EAS) support for synchronizing mobile clients. Any authorization methods are supported (ActiveDirectory, WinNT local, ODBC, text lists, built-in database, X.509 certificates, etc.), SSL/TLS. And this is a paid commercial product. But we're looking at HTTP in this article, so... The included HTTP Server is a completely free Open Source solution. This is a worthy replacement for IIS on Windows, which supports:

  • HTTP server with SSL/TLS
  • Built-in Forth translator
  • CGI support
  • ISAPI support
  • FastCGI support

All domains whose DNS A records point to a web server managed by Eserv automatically receive a ready-to-use teaming system that includes site content management (see next section), based on wikis and shared folders. But you can continue to use Eserv for regular sites (static pages, various CMS, forums, PHP and Perl stores, etc.), if circumstances require it. FastCGI support is included in Eserv by default, and the mode of operation of PHP (CGI, ISAPI or FastCGI) under acWEB is specified by a configuration option.

I must say that this server is very resource-intensive.

But this was a lyrical digression.

Lightweight HTTP servers

For a long time, I considered the easiest and fastest to deploy another free domestic product by Max Feoktistov - Small HTTP server, which was actually more than a web server. Web, mail server, DNS server, FTP server, Proxy server... All in one! And all this weighs 146 KB and does not require installation. From an HTTP point of view, this is a full-fledged web server that supports:

  • Server Side Includes, regular expressions in SSI.
  • CGI interface for scripts (Running executable files; Perl, PHP, and other external interpreters)
  • ISAPI interface.
  • Virtual hosts and directories.

Unfortunately, script execution requires external interpreters for Perl and PHP, respectively, but this is understandable given the size of the server. Processing phtml pages by launching an external PHP interpreter. The server can support multiple virtual hosts. Each host has its own root directory and may also include virtual directories shared by all.

This all sounds cool, but... requires a fairly good understanding of how the server works and the ability to configure the php.ini file if you need PHP execution. Although who needs this for Sql!? Strictly speaking, there are a million settings, and the interface is very inconvenient, backward, written many years ago. It will take you about 5 minutes to start the server, and more than one day to customize it for yourself. Well, the most important thing is that the server has not been updated since 2012, and the documentation also leaves much to be desired.

Therefore, you can keep this server in mind if you want something reliable that consumes very few resources, but which will require a lot of effort on your part to learn the settings.

The lightest and simplest HTTP server

What I settled on and still use to this day is HTTP File Server. As the name suggests, this HTTP server is intended primarily for sharing files over the Internet. But it’s just as easy; you can host an HTML site on your server.

Strictly speaking, there is almost nothing you need to do except specify the folder in which the site content is located ( "bind root to real-folder") and the first site file, if it differs from index.htm. Yes, execution of server-side scripts such as PHP and ASP is not supported in HFS. If this is the main thing for you, you can stop reading further and choose one of the servers above. If you need to publish static pages or files for downloading and uploading, then HFS is a convenient solution.

HFS supports the concept of a virtual file system, but the server can also work with real folders on the disk. You can include real folders with their contents in the virtual structure. Very comfortably.

Advantages of HFS:

  • does not require installation, consists of one small executable file.
  • Requires almost no resources, no memory leaks.
  • the entire configuration is stored either in the registry or in one ini file, your choice.
  • You can run the server as a Windows service.
  • All setup is done through a fairly simple GUI interface. It takes 2 minutes to launch the site. All initial setup is described.
  • The output can be customized through custom templates (.tpl files), which are fully editable, like all code, however. You can write a template in which any custom buttons and menus are added. This is provided if you do not want to publish a finished website.
    The standard template is sufficient in most cases: it has the ability to log in, search through files and folders on the server, and group work with files. Read more.
  • Starting from version 2.3, macros are supported that replace server scripts that are used in conjunction with templates. More about HFS macros on the wiki.
  • Full downloading and uploading of files to the server is supported. You only need to specify the folders for this in your virtual file system and set up permissions for them.
  • The server supports setting access rights for users and groups. You can configure rights for each folder separately or inherit them.
  • Fine-tuning the limit is supported bandwidth for groups and users for downloading and uploading.
  • The server constantly monitors available IP addresses. You can specify the port and IP on which you want the server to respond.
  • Naturally, a limit on the quantity is supported various connections and downloads for groups and users.