აქაა მითითებები, როგორ უნდა გამართოთ onion-მომსახურება საკუთარი საიტისთვის. ტექნიკური საკითხებისთვის, თუ როგორ მუშაობს Onion-მომსახურების ოქმი, იხილეთ ჩვენი Onion-მომსახურების ოქმის გვერდი.

ნაბიჯი 0: საჭიროა ამუშავებული Tor

ამ სახელმძღვანელოში იგულისხმება, რომ თქვენ უკვე ამუშავებული გაქვთ Tor თქვენს კომპიუტერზე. To set up Tor, please follow the Tor installation guide. Tor უნდა იყოს სათანადოდ გამართული და გაშვებული, ამ მითითებებით სარგებლობისთვის. აგრეთვე, უნდა იცოდეთ, სად მდებარეობს Tor-ის გამართვის ფაილები.

ნაბიჯი 1: აამუშავეთ ვებსერვერი

პირველ რიგში, უნდა გამართოთ ვებსერვერი ადგილობრივად, როგორც Nginx ან Apache, ან რომელიც მოგესურვებათ. ვებსერვერის გამართვა, შესაძლოა არ იყოს ადვილი. თუ გაიჭედებით ან მეტის გაკეთებას მოისურვებთ, დაიხმარეთ მეგობარი რომელიც ერკვევა ან შემოუერთდით ჩვენს tor-onions საფოსტო ჯგუფს, სხვა მფლობელებისგან რჩევის მისაღებად.

როგორ მაგალითშია, ჩვენ ავხსნით როგორ გაიმართოს Onion-საიტი Nginx ან Apache-ით Debian-ზე. გირჩევთ დააყენოთ ცალკე ახალი ვებსერვერი თქვენი Onion-მომსახურებისთვის, ვინაიდან თუ ერთი უკვე გიყენიათ, შეგეძლებათ მისი გამოყენება (თუნდაც სამომავლოდ) ჩვეულებრივი ვებსაიტისთვის.

ამ გვერდზე მოცემული ბრძანებები ვებსერვერის სამართავად, ეყრდნობა Debian-ის მსგავს საოპერაციო სისტემებს და შეიძლება განსხვავდებოდეს სხვა სისტემებისგან. გადახედეთ თქვენი ვებსერვერისა და საოპერაციო სისტემის მასალებს.

Apache

Apache ხელმისაწვდომია სხვადასხვა Linux ან *BSD-დისტრიბუტივების მთავარი საცავებიდან. იმისთვის, რომ apache2 კრებული დააყენოთ:

$ sudo apt install apache2

Nginx

Nginx ხელმისაწვდომია სხვადასხვა Linux ან *BSD-დისტრიბუტივების მთავარი საცავებიდან. იმისთვის, რომ nginx კრებული დააყენოთ:

$ sudo apt install nginx

ნაგულისხმევად, ვებსერვერი გაშვებული იქნება localhost:80 მდებარეობაზე, დაყენების ბოლოს. თუ შეცდომა ამოაგდო, რაღაც არასწორად წარიმართა და იქამდე ვერ განაგრძობთ, სანამ არ გაარკვევთ რა არ მუშაობს.

მას შემდეგ, რაც თქვენი ვებსერვერი გაიმართება, გადაამოწმეთ მუშაობს თუ არა: გახსენით ბრაუზერი და მოინახულეთ http://localhost/. შემდეგ განათავსეთ ფაილი მთავარ html საქაღალდეში და დარწმუნდით, რომ ჩანს, საიტთან წვდომისას.

ნაბიჯი 2: გამართეთ Tor-ის თქვენი onion-მომსახურება

შემდეგი ნაბიჯია Tor-ის გასამართი ფაილის გახსნა (torrc) და შესაბამისი ცვილებების შეტანა, onion-მომსახურების ასამუშავებლად. იმისდა მიხედვით, რა საოპერაციო სისტემა და მოწყობილობა გაქვთ, Tor-ის თქვენი გასამართი ფაილი, შეიძლება განთავსებული იყოს განსხვავებულ ადგილას ან განსხვავებულად გამოიყურებოდეს.

საჭიროა შემდეგი ორი ხაზის დამატება torrc ფაილში:

 HiddenServiceDir /var/lib/tor/my_website/
 HiddenServicePort 80 127.0.0.1:80

ხაზი HiddenServiceDir მიუთითებს მდებარეობას, რომელშიც უნდა იყოს მონაცემები და კრიპტოგრაფიული გასაღებები, თქვენი onion-მომსახურებისთვის. დაგჭირდებათ HiddenServiceDir ხაზის შეცვლა, რომ მიუთითებდეს ზუსტად იმ მდებარეობას სადაც წაკითხვა/ჩაწერის ნებართვა ექნება იმ მომხმარებელს, რომლის მიერაც გაშვებული იქნება Tor.

ხაზი HiddenServicePort მიუთითებს წარმოსახვით პორტს (ეს ის პორტია, რომლითაც ხალხი ეწვევა თქვენს Onion-მომსახურებას) და ზედა მაგალითის მიხედვით, ნებისმიერი შემომავალი კავშირი მე-80 პორტით თქვენს Onion-მომსახურებაზე, უნდა გადამისამართდეს 127.0.0.1:80 მისამართზე (რომელსაც, თვალს ადევნებს პირველ ნაბიჯში განხილული ვებსერვერი).

რჩევა: Onion-მომსახურების გაჟონვის ასარიდებლად ადგილობრივ ქსელში, ჯობია Onion-მომსახურებები გაეშვას Unix socket-ების მეშვეობით, ნაცვლად TCP socket-ებისა. საჭიროა ჩასწორება და შემდეგი ორი ხაზის დამატება torrc ფაილში:

HiddenServiceDir /var/lib/tor/my-website/
HiddenServicePort 80 unix:/var/run/tor-my-website.sock

ნაბიჯი 3: ხელახლა გაუშვით Tor და შეამოწმეთ თუ მუშაობს

ახლა კი შეინახეთ თქვენი torrc ფაილი და ხელახლა გაუშვით Tor.

$ sudo systemctl restart tor

თუ Tor კვლავ ჩაირთო, მშვენიერია. თუ არადა, რაღაც რიგზე ვერაა. თავდაპირველად, გადახედეთ აღრიცხვის ჩანაწერებს, ვითარების გამოსარკვევად. მანდ ნაჩვენები იქნება გაფრთხილებები და შეცდომები. შესაძლოა მიგახვედროთ, რა ხარვეზი წარმოიქმნა. ჩვეულებრივ, არის ხოლმე მართლწერის შეცდომები torrc ფაილში საქაღალდის არასწორი ნებართვები (იხილეთ აღრიცხვის ᲮᲓᲙ თუ არ იცით, როგორ ჩართოთ და იპოვოთ ჩანაწერების ფაილი).

როცა Tor ეშვება, ავტომატურად ქმნის საქაღალდეს HiddenServiceDir რომელიც მითითებულია (თუ საჭიროა). დარწმუნდით, რომ ეს შემთხვევაა.

ნაბიჯი 4: შეამოწმეთ, რომ თქვენი onion-მომსახურება მუშაობს

შემდეგ კი onion-მომსახურების მისამართის მისაღებად, გადადით HiddenServiceDir საქაღალდეში და მონახეთ ფაილი დასახელებით hostname. ფაილი hostname თქვენი Onion-მომსახურების გასამართ საქაღალდეში, შეიცავს მისამართს, თქვენი ახალი v3 Onion-მომსახურებისთვის. დანარჩენი ფაილები არის თქვენი Onion-მომსახურების გასაღებები, შესაბამისად მნიშვნელოვანია მათი სხვებისგან მიუწვდომლად დატოვება. თუ ეს გასაღებები გამჟღავნდება, სხვები შეძლებენ თქვენი onion-მომსახურების მითვისებას, ხელყოფას, გახდიან გამოუსადეგარს ან საშიშს, მოსანახულებლად.

ახლა უკვე შეგიძლიათ დაუკავშირდეთ თქვენს Onion-მომსახურებას Tor-ბრაუზერით და წესით იხილავთ იმ html გვერდს, რომელიც დააყენეთ ნაბიჯში 1. თუ არ იმუშავებს, გადახედეთ აღრიცხულ ჩანაწერებს და შეიტანეთ ცვლილებები მანამ, სანამ არ ამუშავდება.

აღსანიშნავია, რომ ამგვარად გამართული Onion-მომსახურების წაკითხვას ნებისმიერი შეძლებს, რომელმაც იცის ან პოულობს მისამართს. საჭიროა, Onion-მომსახურებებზე მომხმარებლის დამოწმება, რომ მხოლოდ საიდუმლო გასაღების მქონეებს შეეძლოთ მომსახურებასთან წვდომა. Read more about Client authorization documentation.

(დამატებით) ნაბიჯი 5: რამდენიმე Onion-მომსახურების გაშვება

თუ გსურთ გადაამისამართოთ რამდენიმე წარმოსახვითი პორტი ერთი Onion-მომსახურებისთვის, უბრალოდ დაამატეთ მეტი HiddenServicePort ხაზი. თუ გსურთ გაუშვათ Onion-მომსახურებები იმავე Tor-კლიენტიდან, უბრალოდ დაამატეთ კიდევ ერთი HiddenServiceDir ხაზი. ყველა შემდეგი HiddenServicePort ჩანაწერი მიუთითებს ამ HiddenServiceDir ხაზზე, სანამ არ დაამატებთ სხვა HiddenServiceDir ჩანაწერს:

 HiddenServiceDir /var/lib/tor/onion_service/
 HiddenServicePort 80 127.0.0.1:80

 HiddenServiceDir /var/lib/tor/other_onion_service/
 HiddenServicePort 6667 127.0.0.1:6667
 HiddenServicePort 22 127.0.0.1:22

თუ რამდენიმე Onion-საიტს უშვებთ ერთსა და იმავე ვებსერვერზე, არ დაგავიწყდეთ ჩაასწოროთ თქვენი ვებსერვერის წარმოსახვითი host-ფაილი და დაამატოთ Onion-მისამართი თითოეული ვებსაიტისთვის. მაგალითად, Nginx-ში Tor-ის Unix socket-ებთან გამოყენებისას, ამგვარად უნდა იყოს გამართული:

server {
        listen unix:/var/run/tor-my-website.sock;
        server_name <your-onion-address>.onion;
        access_log /var/log/nginx/my-website.log;
        index index.html;
        root /path/to/htdocs;
}

ან Apache-ში Tor-მომსახურების მიმღები მე-80 პორტზე:

     <VirtualHost *:80>
       ServerName <your-onion-address.onion>
       DocumentRoot /path/to/htdocs
       ErrorLog ${APACHE_LOG_DIR}/my-website.log
     </VirtualHost>

ნაბიჯი 6: რჩევები უსაფრთხოებისთვის და სხვა მითითებები

ნაგულისხმევი ვერსია Onion-მომსახურებებისა არის ვერსია 3 და აქვს 56 სიმბოლოს სიგრძე. Onion-მომსახურებების ვერსია 2 მოძველებულია და მალე ამოიღებენ Tor-ქსელიდან, მას შემდეგ რაც 0.4.6.x Tor გამოვა, 2021 წლის ივლისში. გთხოვთ, იხილოთ სვეტზე სტატია Onion-მომსახურების ვერსიის გაუქმების გრაფიკი for more information.

Onion-საიტის ზოგ მესაკუთრეს, შესაძლოა არ სურდეს საკუთარი Onion-მომსახურების მდებარეობის გამჟღავნება. ამიტომ, ვებსერვერი უნდა გაიმართოს ისე, რომ არ გასცეს რამე ინფორმაცია თქვენი, თქვენი კომპიუტერისა და თქვენი მდებარეობის შესახებ. ეს არც ისე მარტივი დავალებაა და გთავაზობთ დამატებით მასალებს, თუ როგორ ხერხდება ამის გაკეთება:

დაბოლოს, თუ გეგმავთ, თქვენი მომსახურების დიდი ხნით ხელმისაწვდომად შენარჩუნებას, შეიძლება გსურდეთ თქვენი private_key ფაილის დამარქაფება ცალკე.

Now that you have an onion site working, you may want to deploy Onion-Location, or use tools like Docker, Heroku, Terraform, Ansible or stem to automate the management of your onion services. თუ გაქვთ უცვლელი საიტი, მაგრამ არასდროს დაგიყენებიათ Nginx ან Apache, კიდევ ერთი პროექტი რომელიც შეიძლება მოსინჯოთ არის OnionShare, სადაც Onion-საიტი უფრო ადვილად გაეშვება: გრაფიკული მითითებების გაყოლით და გამართვის საჭიროების შემცირებით.