I have no expertise in this area, but after learning about Apache and its capabilities through research, I now understand how to implement necessary software or determine if it's impossible.
There's a program that performs analysis and calculation and requires specific input and output formats. As a trusted person, I received incoming .txt files via email and sent out response .txt files, but automation is necessary due to the frequency of requests. However, the cost of software is a concern as theft could result in loss of profit and a disastrous outcome. Therefore, a local program was abandoned and a server is needed for file communication between computers.
Protection against DDoS attacks isn't necessary, but preventing theft of the main program is a priority. If feasible, paid assistance is welcome, but if not, an explanation would be appreciated.
The program cannot be stolen remotely as long as its sources are not in a shared folder, but theft is still possible depending on the intentions and finances of the perpetrator. When automating, it's important to ensure the server doesn't provide services to everyone, otherwise, someone may receive results without payment.
Registration for clients could be an easier option, although downloading a client may pose a risk. A more complex option would be to send encrypted results to clients with personal keys that change periodically. However, if calculations are time-consuming, there may be deliberate attempts to overload the server with requests.
The hosting provider's admin would need to review the image for the hashes of the pairs and keys, and if the root is encrypted, they would need to create a hypervisor hole or implement MiTM during installation. In cases of critical data encryption, accessing it would require the use of MiTM during ssh logins with stolen hashes and keys.
However, even with password hashes and ssh keys, gaining full access to the web system can be problematic, especially if the entrance is only by key, as passwords may be selected by hash. Overall, it's likely that only web hosting providers whose business includes data theft and sales would engage in such practices. It's advisable to have a personal server to avoid potential issues with data security.
The server you would want to set up can be done on a local machine or a virtual private server (VPS). Using a VPS is often more secure and allows you to scale as needed, but local may reduce monthly costs. I would recommend using an open-source solution for your file processing needs. This keeps the costs down while allowing you to customize the program to your specifications.
You can consider setting up an Apache server, which is well-known for its flexibility and security. With Apache, you can create a directory that will only be accessible to you and to the specific machines that need to access the incoming and outgoing files.
For file automation, programming languages like Python can be used to write a script that automatically receives .txt files from email and processes them according to your specified input/output formats. This script can run on the server, and you can set it up as a cron job to run periodically or listen for incoming files in real time.
To secure your application against potential theft, you can implement various strategies. First, ensure that only authorized users can access the server. This could be done through SSH key authentication and setting strong passwords. You may also want to utilize encryption for your files, so even if someone intercepts them, they cannot easily access the data without proper keys.
With regards to building and maintaining the software, I personally recommend looking into community support forums for troubleshooting. Since you might not have a strong background in programming, you could also consider hiring a freelance developer for a brief period to help set this up properly. Websites like Upwork or Fiverr could be places to find affordable help.
Using an Apache server with an automated Python script for processing files could be a cost-effective solution for you. Prioritize security measures to protect your intellectual property, and don't hesitate to reach out to the community or hire someone temporarily for the initial setup if needed. This way, you can focus on the core operations of your business without constantly worrying about file management.